Changeset 2743


Ignore:
Timestamp:
Feb 27, 2013, 9:27:58 PM (7 years ago)
Author:
sacerdot
Message:

Latest version of the compiler, extracted with the latest version of Matita.
Some files still need some manual patching to avoid an extraction bug
(see PROBLEMS file).

Location:
extracted
Files:
82 edited

Legend:

Unmodified
Added
Removed
  • extracted/PROBLEMS

    r2736 r2743  
    33================
    44
    5 1. ASM.subaddressing_modeel__o__mk_subaddressing_mode not extracted
    6   val subaddressing_modeel__o__mk_subaddressing_mode:
    7  Nat.nat -> Nat.nat -> addressing_mode_tag Vector.vector -> addressing_mode_tag Vector.vector -> addressing_mode -> addressing_mode
    8 
    9 2. File "monad.ml", line 1, characters 0-1:
    10 Error: The implementation monad.ml does not match the interface monad.cmi:
    11        Type declarations do not match:
    12          type monad0 = Preamble.__
    13        is not included in
    14          type 'a monad0
    15        They have different arities.
    16 
    17 Error: The implementation smallstepExec.ml
    18        does not match the interface smallstepExec.cmi:
    19        Type declarations do not match:
    20          type global = Preamble.__
    21        is not included in
    22          type ('a, 'b) global
    23        They have different arities.
     51. In some situations the types implemented with = __ in the .mli
     6   are less general than those in the .ml
    247
    258=========================
     
    2710=========================
    2811
    29 a) two in compiler.ml (the backend and the compiler itself)
    30    - file Fix.ml taken from the untrusted prototype and modified to
    31      redefine a few functions from OCaml's List due to module name shadowing
    32    - file compute_fixpoints.ml to adapt Fix.ml to the rest
    33 b) set_adt currently implemented by cut&paste from OCaml's set.ml, but
    34    using Pervasives.compare: the equality function taken in input is ignored!
     12In order to plug the untrusted code, the following files needs manual
     13intervention:
     14
     15a) compiler.ml
     16b) set_adt needs to be removed to favour the untrusted implementation
  • extracted/aSM.ml

    r2730 r2743  
    113113    -> 'a1) -> addressing_mode -> 'a1 **)
    114114let rec addressing_mode_rect_Type4 h_DIRECT h_INDIRECT h_EXT_INDIRECT h_REGISTER h_ACC_A h_ACC_B h_DPTR h_DATA h_DATA16 h_ACC_DPTR h_ACC_PC h_EXT_INDIRECT_DPTR h_INDIRECT_DPTR h_CARRY h_BIT_ADDR h_N_BIT_ADDR h_RELATIVE h_ADDR11 h_ADDR16 = function
    115 | DIRECT x_2727 -> h_DIRECT x_2727
    116 | INDIRECT x_2728 -> h_INDIRECT x_2728
    117 | EXT_INDIRECT x_2729 -> h_EXT_INDIRECT x_2729
    118 | REGISTER x_2730 -> h_REGISTER x_2730
     115| DIRECT x_21796 -> h_DIRECT x_21796
     116| INDIRECT x_21797 -> h_INDIRECT x_21797
     117| EXT_INDIRECT x_21798 -> h_EXT_INDIRECT x_21798
     118| REGISTER x_21799 -> h_REGISTER x_21799
    119119| ACC_A -> h_ACC_A
    120120| ACC_B -> h_ACC_B
    121121| DPTR -> h_DPTR
    122 | DATA x_2731 -> h_DATA x_2731
    123 | DATA16 x_2732 -> h_DATA16 x_2732
     122| DATA x_21800 -> h_DATA x_21800
     123| DATA16 x_21801 -> h_DATA16 x_21801
    124124| ACC_DPTR -> h_ACC_DPTR
    125125| ACC_PC -> h_ACC_PC
     
    127127| INDIRECT_DPTR -> h_INDIRECT_DPTR
    128128| CARRY -> h_CARRY
    129 | BIT_ADDR x_2733 -> h_BIT_ADDR x_2733
    130 | N_BIT_ADDR x_2734 -> h_N_BIT_ADDR x_2734
    131 | RELATIVE x_2735 -> h_RELATIVE x_2735
    132 | ADDR11 x_2736 -> h_ADDR11 x_2736
    133 | ADDR16 x_2737 -> h_ADDR16 x_2737
     129| BIT_ADDR x_21802 -> h_BIT_ADDR x_21802
     130| N_BIT_ADDR x_21803 -> h_N_BIT_ADDR x_21803
     131| RELATIVE x_21804 -> h_RELATIVE x_21804
     132| ADDR11 x_21805 -> h_ADDR11 x_21805
     133| ADDR16 x_21806 -> h_ADDR16 x_21806
    134134
    135135(** val addressing_mode_rect_Type5 :
     
    141141    -> 'a1) -> addressing_mode -> 'a1 **)
    142142let rec addressing_mode_rect_Type5 h_DIRECT h_INDIRECT h_EXT_INDIRECT h_REGISTER h_ACC_A h_ACC_B h_DPTR h_DATA h_DATA16 h_ACC_DPTR h_ACC_PC h_EXT_INDIRECT_DPTR h_INDIRECT_DPTR h_CARRY h_BIT_ADDR h_N_BIT_ADDR h_RELATIVE h_ADDR11 h_ADDR16 = function
    143 | DIRECT x_2758 -> h_DIRECT x_2758
    144 | INDIRECT x_2759 -> h_INDIRECT x_2759
    145 | EXT_INDIRECT x_2760 -> h_EXT_INDIRECT x_2760
    146 | REGISTER x_2761 -> h_REGISTER x_2761
     143| DIRECT x_21827 -> h_DIRECT x_21827
     144| INDIRECT x_21828 -> h_INDIRECT x_21828
     145| EXT_INDIRECT x_21829 -> h_EXT_INDIRECT x_21829
     146| REGISTER x_21830 -> h_REGISTER x_21830
    147147| ACC_A -> h_ACC_A
    148148| ACC_B -> h_ACC_B
    149149| DPTR -> h_DPTR
    150 | DATA x_2762 -> h_DATA x_2762
    151 | DATA16 x_2763 -> h_DATA16 x_2763
     150| DATA x_21831 -> h_DATA x_21831
     151| DATA16 x_21832 -> h_DATA16 x_21832
    152152| ACC_DPTR -> h_ACC_DPTR
    153153| ACC_PC -> h_ACC_PC
     
    155155| INDIRECT_DPTR -> h_INDIRECT_DPTR
    156156| CARRY -> h_CARRY
    157 | BIT_ADDR x_2764 -> h_BIT_ADDR x_2764
    158 | N_BIT_ADDR x_2765 -> h_N_BIT_ADDR x_2765
    159 | RELATIVE x_2766 -> h_RELATIVE x_2766
    160 | ADDR11 x_2767 -> h_ADDR11 x_2767
    161 | ADDR16 x_2768 -> h_ADDR16 x_2768
     157| BIT_ADDR x_21833 -> h_BIT_ADDR x_21833
     158| N_BIT_ADDR x_21834 -> h_N_BIT_ADDR x_21834
     159| RELATIVE x_21835 -> h_RELATIVE x_21835
     160| ADDR11 x_21836 -> h_ADDR11 x_21836
     161| ADDR16 x_21837 -> h_ADDR16 x_21837
    162162
    163163(** val addressing_mode_rect_Type3 :
     
    169169    -> 'a1) -> addressing_mode -> 'a1 **)
    170170let rec addressing_mode_rect_Type3 h_DIRECT h_INDIRECT h_EXT_INDIRECT h_REGISTER h_ACC_A h_ACC_B h_DPTR h_DATA h_DATA16 h_ACC_DPTR h_ACC_PC h_EXT_INDIRECT_DPTR h_INDIRECT_DPTR h_CARRY h_BIT_ADDR h_N_BIT_ADDR h_RELATIVE h_ADDR11 h_ADDR16 = function
    171 | DIRECT x_2789 -> h_DIRECT x_2789
    172 | INDIRECT x_2790 -> h_INDIRECT x_2790
    173 | EXT_INDIRECT x_2791 -> h_EXT_INDIRECT x_2791
    174 | REGISTER x_2792 -> h_REGISTER x_2792
     171| DIRECT x_21858 -> h_DIRECT x_21858
     172| INDIRECT x_21859 -> h_INDIRECT x_21859
     173| EXT_INDIRECT x_21860 -> h_EXT_INDIRECT x_21860
     174| REGISTER x_21861 -> h_REGISTER x_21861
    175175| ACC_A -> h_ACC_A
    176176| ACC_B -> h_ACC_B
    177177| DPTR -> h_DPTR
    178 | DATA x_2793 -> h_DATA x_2793
    179 | DATA16 x_2794 -> h_DATA16 x_2794
     178| DATA x_21862 -> h_DATA x_21862
     179| DATA16 x_21863 -> h_DATA16 x_21863
    180180| ACC_DPTR -> h_ACC_DPTR
    181181| ACC_PC -> h_ACC_PC
     
    183183| INDIRECT_DPTR -> h_INDIRECT_DPTR
    184184| CARRY -> h_CARRY
    185 | BIT_ADDR x_2795 -> h_BIT_ADDR x_2795
    186 | N_BIT_ADDR x_2796 -> h_N_BIT_ADDR x_2796
    187 | RELATIVE x_2797 -> h_RELATIVE x_2797
    188 | ADDR11 x_2798 -> h_ADDR11 x_2798
    189 | ADDR16 x_2799 -> h_ADDR16 x_2799
     185| BIT_ADDR x_21864 -> h_BIT_ADDR x_21864
     186| N_BIT_ADDR x_21865 -> h_N_BIT_ADDR x_21865
     187| RELATIVE x_21866 -> h_RELATIVE x_21866
     188| ADDR11 x_21867 -> h_ADDR11 x_21867
     189| ADDR16 x_21868 -> h_ADDR16 x_21868
    190190
    191191(** val addressing_mode_rect_Type2 :
     
    197197    -> 'a1) -> addressing_mode -> 'a1 **)
    198198let rec addressing_mode_rect_Type2 h_DIRECT h_INDIRECT h_EXT_INDIRECT h_REGISTER h_ACC_A h_ACC_B h_DPTR h_DATA h_DATA16 h_ACC_DPTR h_ACC_PC h_EXT_INDIRECT_DPTR h_INDIRECT_DPTR h_CARRY h_BIT_ADDR h_N_BIT_ADDR h_RELATIVE h_ADDR11 h_ADDR16 = function
    199 | DIRECT x_2820 -> h_DIRECT x_2820
    200 | INDIRECT x_2821 -> h_INDIRECT x_2821
    201 | EXT_INDIRECT x_2822 -> h_EXT_INDIRECT x_2822
    202 | REGISTER x_2823 -> h_REGISTER x_2823
     199| DIRECT x_21889 -> h_DIRECT x_21889
     200| INDIRECT x_21890 -> h_INDIRECT x_21890
     201| EXT_INDIRECT x_21891 -> h_EXT_INDIRECT x_21891
     202| REGISTER x_21892 -> h_REGISTER x_21892
    203203| ACC_A -> h_ACC_A
    204204| ACC_B -> h_ACC_B
    205205| DPTR -> h_DPTR
    206 | DATA x_2824 -> h_DATA x_2824
    207 | DATA16 x_2825 -> h_DATA16 x_2825
     206| DATA x_21893 -> h_DATA x_21893
     207| DATA16 x_21894 -> h_DATA16 x_21894
    208208| ACC_DPTR -> h_ACC_DPTR
    209209| ACC_PC -> h_ACC_PC
     
    211211| INDIRECT_DPTR -> h_INDIRECT_DPTR
    212212| CARRY -> h_CARRY
    213 | BIT_ADDR x_2826 -> h_BIT_ADDR x_2826
    214 | N_BIT_ADDR x_2827 -> h_N_BIT_ADDR x_2827
    215 | RELATIVE x_2828 -> h_RELATIVE x_2828
    216 | ADDR11 x_2829 -> h_ADDR11 x_2829
    217 | ADDR16 x_2830 -> h_ADDR16 x_2830
     213| BIT_ADDR x_21895 -> h_BIT_ADDR x_21895
     214| N_BIT_ADDR x_21896 -> h_N_BIT_ADDR x_21896
     215| RELATIVE x_21897 -> h_RELATIVE x_21897
     216| ADDR11 x_21898 -> h_ADDR11 x_21898
     217| ADDR16 x_21899 -> h_ADDR16 x_21899
    218218
    219219(** val addressing_mode_rect_Type1 :
     
    225225    -> 'a1) -> addressing_mode -> 'a1 **)
    226226let rec addressing_mode_rect_Type1 h_DIRECT h_INDIRECT h_EXT_INDIRECT h_REGISTER h_ACC_A h_ACC_B h_DPTR h_DATA h_DATA16 h_ACC_DPTR h_ACC_PC h_EXT_INDIRECT_DPTR h_INDIRECT_DPTR h_CARRY h_BIT_ADDR h_N_BIT_ADDR h_RELATIVE h_ADDR11 h_ADDR16 = function
    227 | DIRECT x_2851 -> h_DIRECT x_2851
    228 | INDIRECT x_2852 -> h_INDIRECT x_2852
    229 | EXT_INDIRECT x_2853 -> h_EXT_INDIRECT x_2853
    230 | REGISTER x_2854 -> h_REGISTER x_2854
     227| DIRECT x_21920 -> h_DIRECT x_21920
     228| INDIRECT x_21921 -> h_INDIRECT x_21921
     229| EXT_INDIRECT x_21922 -> h_EXT_INDIRECT x_21922
     230| REGISTER x_21923 -> h_REGISTER x_21923
    231231| ACC_A -> h_ACC_A
    232232| ACC_B -> h_ACC_B
    233233| DPTR -> h_DPTR
    234 | DATA x_2855 -> h_DATA x_2855
    235 | DATA16 x_2856 -> h_DATA16 x_2856
     234| DATA x_21924 -> h_DATA x_21924
     235| DATA16 x_21925 -> h_DATA16 x_21925
    236236| ACC_DPTR -> h_ACC_DPTR
    237237| ACC_PC -> h_ACC_PC
     
    239239| INDIRECT_DPTR -> h_INDIRECT_DPTR
    240240| CARRY -> h_CARRY
    241 | BIT_ADDR x_2857 -> h_BIT_ADDR x_2857
    242 | N_BIT_ADDR x_2858 -> h_N_BIT_ADDR x_2858
    243 | RELATIVE x_2859 -> h_RELATIVE x_2859
    244 | ADDR11 x_2860 -> h_ADDR11 x_2860
    245 | ADDR16 x_2861 -> h_ADDR16 x_2861
     241| BIT_ADDR x_21926 -> h_BIT_ADDR x_21926
     242| N_BIT_ADDR x_21927 -> h_N_BIT_ADDR x_21927
     243| RELATIVE x_21928 -> h_RELATIVE x_21928
     244| ADDR11 x_21929 -> h_ADDR11 x_21929
     245| ADDR16 x_21930 -> h_ADDR16 x_21930
    246246
    247247(** val addressing_mode_rect_Type0 :
     
    253253    -> 'a1) -> addressing_mode -> 'a1 **)
    254254let rec addressing_mode_rect_Type0 h_DIRECT h_INDIRECT h_EXT_INDIRECT h_REGISTER h_ACC_A h_ACC_B h_DPTR h_DATA h_DATA16 h_ACC_DPTR h_ACC_PC h_EXT_INDIRECT_DPTR h_INDIRECT_DPTR h_CARRY h_BIT_ADDR h_N_BIT_ADDR h_RELATIVE h_ADDR11 h_ADDR16 = function
    255 | DIRECT x_2882 -> h_DIRECT x_2882
    256 | INDIRECT x_2883 -> h_INDIRECT x_2883
    257 | EXT_INDIRECT x_2884 -> h_EXT_INDIRECT x_2884
    258 | REGISTER x_2885 -> h_REGISTER x_2885
     255| DIRECT x_21951 -> h_DIRECT x_21951
     256| INDIRECT x_21952 -> h_INDIRECT x_21952
     257| EXT_INDIRECT x_21953 -> h_EXT_INDIRECT x_21953
     258| REGISTER x_21954 -> h_REGISTER x_21954
    259259| ACC_A -> h_ACC_A
    260260| ACC_B -> h_ACC_B
    261261| DPTR -> h_DPTR
    262 | DATA x_2886 -> h_DATA x_2886
    263 | DATA16 x_2887 -> h_DATA16 x_2887
     262| DATA x_21955 -> h_DATA x_21955
     263| DATA16 x_21956 -> h_DATA16 x_21956
    264264| ACC_DPTR -> h_ACC_DPTR
    265265| ACC_PC -> h_ACC_PC
     
    267267| INDIRECT_DPTR -> h_INDIRECT_DPTR
    268268| CARRY -> h_CARRY
    269 | BIT_ADDR x_2888 -> h_BIT_ADDR x_2888
    270 | N_BIT_ADDR x_2889 -> h_N_BIT_ADDR x_2889
    271 | RELATIVE x_2890 -> h_RELATIVE x_2890
    272 | ADDR11 x_2891 -> h_ADDR11 x_2891
    273 | ADDR16 x_2892 -> h_ADDR16 x_2892
     269| BIT_ADDR x_21957 -> h_BIT_ADDR x_21957
     270| N_BIT_ADDR x_21958 -> h_N_BIT_ADDR x_21958
     271| RELATIVE x_21959 -> h_RELATIVE x_21959
     272| ADDR11 x_21960 -> h_ADDR11 x_21960
     273| ADDR16 x_21961 -> h_ADDR16 x_21961
    274274
    275275(** val addressing_mode_inv_rect_Type4 :
     
    19281928    Nat.nat -> addressing_mode_tag Vector.vector -> (addressing_mode -> __ ->
    19291929    'a1) -> subaddressing_mode -> 'a1 **)
    1930 let rec subaddressing_mode_rect_Type4 n l h_mk_subaddressing_mode x_3360 =
    1931   let subaddressing_modeel = x_3360 in
     1930let rec subaddressing_mode_rect_Type4 n l h_mk_subaddressing_mode x_22429 =
     1931  let subaddressing_modeel = x_22429 in
    19321932  h_mk_subaddressing_mode subaddressing_modeel __
    19331933
     
    19351935    Nat.nat -> addressing_mode_tag Vector.vector -> (addressing_mode -> __ ->
    19361936    'a1) -> subaddressing_mode -> 'a1 **)
    1937 let rec subaddressing_mode_rect_Type5 n l h_mk_subaddressing_mode x_3362 =
    1938   let subaddressing_modeel = x_3362 in
     1937let rec subaddressing_mode_rect_Type5 n l h_mk_subaddressing_mode x_22431 =
     1938  let subaddressing_modeel = x_22431 in
    19391939  h_mk_subaddressing_mode subaddressing_modeel __
    19401940
     
    19421942    Nat.nat -> addressing_mode_tag Vector.vector -> (addressing_mode -> __ ->
    19431943    'a1) -> subaddressing_mode -> 'a1 **)
    1944 let rec subaddressing_mode_rect_Type3 n l h_mk_subaddressing_mode x_3364 =
    1945   let subaddressing_modeel = x_3364 in
     1944let rec subaddressing_mode_rect_Type3 n l h_mk_subaddressing_mode x_22433 =
     1945  let subaddressing_modeel = x_22433 in
    19461946  h_mk_subaddressing_mode subaddressing_modeel __
    19471947
     
    19491949    Nat.nat -> addressing_mode_tag Vector.vector -> (addressing_mode -> __ ->
    19501950    'a1) -> subaddressing_mode -> 'a1 **)
    1951 let rec subaddressing_mode_rect_Type2 n l h_mk_subaddressing_mode x_3366 =
    1952   let subaddressing_modeel = x_3366 in
     1951let rec subaddressing_mode_rect_Type2 n l h_mk_subaddressing_mode x_22435 =
     1952  let subaddressing_modeel = x_22435 in
    19531953  h_mk_subaddressing_mode subaddressing_modeel __
    19541954
     
    19561956    Nat.nat -> addressing_mode_tag Vector.vector -> (addressing_mode -> __ ->
    19571957    'a1) -> subaddressing_mode -> 'a1 **)
    1958 let rec subaddressing_mode_rect_Type1 n l h_mk_subaddressing_mode x_3368 =
    1959   let subaddressing_modeel = x_3368 in
     1958let rec subaddressing_mode_rect_Type1 n l h_mk_subaddressing_mode x_22437 =
     1959  let subaddressing_modeel = x_22437 in
    19601960  h_mk_subaddressing_mode subaddressing_modeel __
    19611961
     
    19631963    Nat.nat -> addressing_mode_tag Vector.vector -> (addressing_mode -> __ ->
    19641964    'a1) -> subaddressing_mode -> 'a1 **)
    1965 let rec subaddressing_mode_rect_Type0 n l h_mk_subaddressing_mode x_3370 =
    1966   let subaddressing_modeel = x_3370 in
     1965let rec subaddressing_mode_rect_Type0 n l h_mk_subaddressing_mode x_22439 =
     1966  let subaddressing_modeel = x_22439 in
    19671967  h_mk_subaddressing_mode subaddressing_modeel __
    19681968
     
    20442044let eject__o__subaddressing_modeel x0 x1 x3 =
    20452045  subaddressing_modeel x0 x1 (Types.pi1 x3)
     2046
     2047type 'x1 dpi1__o__subaddressing_mode = subaddressing_mode
     2048
     2049type eject__o__subaddressing_mode = subaddressing_mode
     2050
     2051(** val dpi1__o__subaddressing_modeel__o__mk_subaddressing_mode__o__inject :
     2052    Nat.nat -> Nat.nat -> addressing_mode_tag Vector.vector ->
     2053    addressing_mode_tag Vector.vector -> (subaddressing_mode, 'a1)
     2054    Types.dPair -> subaddressing_mode Types.sig0 **)
     2055let dpi1__o__subaddressing_modeel__o__mk_subaddressing_mode__o__inject x0 x1 x2 x3 x6 =
     2056  dpi1__o__subaddressing_modeel x0 x2 x6
     2057
     2058(** val dpi1__o__subaddressing_modeel__o__mk_subaddressing_mode__o__subaddressing_modeel__o__inject :
     2059    Nat.nat -> Nat.nat -> addressing_mode_tag Vector.vector ->
     2060    addressing_mode_tag Vector.vector -> (subaddressing_mode, 'a1)
     2061    Types.dPair -> addressing_mode Types.sig0 **)
     2062let dpi1__o__subaddressing_modeel__o__mk_subaddressing_mode__o__subaddressing_modeel__o__inject x0 x2 x3 x4 x6 =
     2063  subaddressing_modeel__o__inject x2 x4
     2064    (dpi1__o__subaddressing_modeel x0 x3 x6)
     2065
     2066(** val dpi1__o__subaddressing_modeel__o__mk_subaddressing_mode__o__subaddressing_modeel :
     2067    Nat.nat -> Nat.nat -> addressing_mode_tag Vector.vector ->
     2068    addressing_mode_tag Vector.vector -> (subaddressing_mode, 'a1)
     2069    Types.dPair -> addressing_mode **)
     2070let dpi1__o__subaddressing_modeel__o__mk_subaddressing_mode__o__subaddressing_modeel x0 x1 x2 x3 x5 =
     2071  subaddressing_modeel x1 x3 (dpi1__o__subaddressing_modeel x0 x2 x5)
     2072
     2073(** val eject__o__subaddressing_modeel__o__mk_subaddressing_mode__o__inject :
     2074    Nat.nat -> Nat.nat -> addressing_mode_tag Vector.vector ->
     2075    addressing_mode_tag Vector.vector -> subaddressing_mode Types.sig0 ->
     2076    subaddressing_mode Types.sig0 **)
     2077let eject__o__subaddressing_modeel__o__mk_subaddressing_mode__o__inject x0 x1 x2 x3 x6 =
     2078  eject__o__subaddressing_modeel x0 x2 x6
     2079
     2080(** val eject__o__subaddressing_modeel__o__mk_subaddressing_mode__o__subaddressing_modeel__o__inject :
     2081    Nat.nat -> Nat.nat -> addressing_mode_tag Vector.vector ->
     2082    addressing_mode_tag Vector.vector -> subaddressing_mode Types.sig0 ->
     2083    addressing_mode Types.sig0 **)
     2084let eject__o__subaddressing_modeel__o__mk_subaddressing_mode__o__subaddressing_modeel__o__inject x0 x2 x3 x4 x6 =
     2085  subaddressing_modeel__o__inject x2 x4
     2086    (eject__o__subaddressing_modeel x0 x3 x6)
     2087
     2088(** val eject__o__subaddressing_modeel__o__mk_subaddressing_mode__o__subaddressing_modeel :
     2089    Nat.nat -> Nat.nat -> addressing_mode_tag Vector.vector ->
     2090    addressing_mode_tag Vector.vector -> subaddressing_mode Types.sig0 ->
     2091    addressing_mode **)
     2092let eject__o__subaddressing_modeel__o__mk_subaddressing_mode__o__subaddressing_modeel x0 x1 x2 x3 x5 =
     2093  subaddressing_modeel x1 x3 (eject__o__subaddressing_modeel x0 x2 x5)
     2094
     2095(** val subaddressing_modeel__o__mk_subaddressing_mode__o__inject :
     2096    Nat.nat -> Nat.nat -> addressing_mode_tag Vector.vector ->
     2097    addressing_mode_tag Vector.vector -> subaddressing_mode ->
     2098    subaddressing_mode Types.sig0 **)
     2099let subaddressing_modeel__o__mk_subaddressing_mode__o__inject x0 x1 x2 x3 x4 =
     2100  subaddressing_modeel x0 x2 x4
     2101
     2102(** val subaddressing_modeel__o__mk_subaddressing_mode__o__subaddressing_modeel__o__inject :
     2103    Nat.nat -> Nat.nat -> addressing_mode_tag Vector.vector ->
     2104    addressing_mode_tag Vector.vector -> subaddressing_mode ->
     2105    addressing_mode Types.sig0 **)
     2106let subaddressing_modeel__o__mk_subaddressing_mode__o__subaddressing_modeel__o__inject x0 x2 x3 x4 x5 =
     2107  subaddressing_modeel__o__inject x2 x4 (subaddressing_modeel x0 x3 x5)
     2108
     2109(** val subaddressing_modeel__o__mk_subaddressing_mode__o__subaddressing_modeel :
     2110    Nat.nat -> Nat.nat -> addressing_mode_tag Vector.vector ->
     2111    addressing_mode_tag Vector.vector -> subaddressing_mode ->
     2112    addressing_mode **)
     2113let subaddressing_modeel__o__mk_subaddressing_mode__o__subaddressing_modeel x0 x1 x2 x3 x4 =
     2114  subaddressing_modeel x1 x3 (subaddressing_modeel x0 x2 x4)
     2115
     2116(** val dpi1__o__mk_subaddressing_mode__o__inject :
     2117    Nat.nat -> (addressing_mode, 'a1) Types.dPair -> addressing_mode_tag
     2118    Vector.vector -> subaddressing_mode Types.sig0 **)
     2119let dpi1__o__mk_subaddressing_mode__o__inject x1 x2 x3 =
     2120  x2.Types.dpi1
     2121
     2122(** val dpi1__o__mk_subaddressing_mode__o__subaddressing_modeel__o__inject :
     2123    Nat.nat -> (addressing_mode, 'a1) Types.dPair -> addressing_mode_tag
     2124    Vector.vector -> addressing_mode Types.sig0 **)
     2125let dpi1__o__mk_subaddressing_mode__o__subaddressing_modeel__o__inject x2 x3 x4 =
     2126  subaddressing_modeel__o__inject x2 x4 x3.Types.dpi1
     2127
     2128(** val dpi1__o__mk_subaddressing_mode__o__subaddressing_modeel :
     2129    Nat.nat -> (addressing_mode, 'a1) Types.dPair -> addressing_mode_tag
     2130    Vector.vector -> addressing_mode **)
     2131let dpi1__o__mk_subaddressing_mode__o__subaddressing_modeel x1 x2 x3 =
     2132  subaddressing_modeel x1 x3 x2.Types.dpi1
     2133
     2134(** val eject__o__mk_subaddressing_mode__o__inject :
     2135    Nat.nat -> addressing_mode Types.sig0 -> addressing_mode_tag
     2136    Vector.vector -> subaddressing_mode Types.sig0 **)
     2137let eject__o__mk_subaddressing_mode__o__inject x1 x2 x3 =
     2138  Types.pi1 x2
     2139
     2140(** val eject__o__mk_subaddressing_mode__o__subaddressing_modeel__o__inject :
     2141    Nat.nat -> addressing_mode Types.sig0 -> addressing_mode_tag
     2142    Vector.vector -> addressing_mode Types.sig0 **)
     2143let eject__o__mk_subaddressing_mode__o__subaddressing_modeel__o__inject x2 x3 x4 =
     2144  subaddressing_modeel__o__inject x2 x4 (Types.pi1 x3)
     2145
     2146(** val eject__o__mk_subaddressing_mode__o__subaddressing_modeel :
     2147    Nat.nat -> addressing_mode Types.sig0 -> addressing_mode_tag
     2148    Vector.vector -> addressing_mode **)
     2149let eject__o__mk_subaddressing_mode__o__subaddressing_modeel x1 x2 x3 =
     2150  subaddressing_modeel x1 x3 (Types.pi1 x2)
     2151
     2152(** val mk_subaddressing_mode__o__subaddressing_modeel :
     2153    Nat.nat -> addressing_mode -> addressing_mode_tag Vector.vector ->
     2154    addressing_mode **)
     2155let mk_subaddressing_mode__o__subaddressing_modeel x0 x1 x2 =
     2156  subaddressing_modeel x0 x2 x1
     2157
     2158(** val mk_subaddressing_mode__o__subaddressing_modeel__o__inject :
     2159    Nat.nat -> addressing_mode -> addressing_mode_tag Vector.vector ->
     2160    addressing_mode Types.sig0 **)
     2161let mk_subaddressing_mode__o__subaddressing_modeel__o__inject x1 x2 x3 =
     2162  subaddressing_modeel__o__inject x1 x3 x2
     2163
     2164(** val mk_subaddressing_mode__o__inject :
     2165    Nat.nat -> addressing_mode -> addressing_mode_tag Vector.vector ->
     2166    subaddressing_mode Types.sig0 **)
     2167let mk_subaddressing_mode__o__inject x0 x1 x2 =
     2168  x1
     2169
     2170(** val dpi1__o__subaddressing_modeel__o__mk_subaddressing_mode :
     2171    Nat.nat -> Nat.nat -> addressing_mode_tag Vector.vector ->
     2172    addressing_mode_tag Vector.vector -> (subaddressing_mode, 'a1)
     2173    Types.dPair -> subaddressing_mode **)
     2174let dpi1__o__subaddressing_modeel__o__mk_subaddressing_mode x0 x1 x2 x3 x5 =
     2175  dpi1__o__subaddressing_modeel x0 x2 x5
     2176
     2177(** val eject__o__subaddressing_modeel__o__mk_subaddressing_mode :
     2178    Nat.nat -> Nat.nat -> addressing_mode_tag Vector.vector ->
     2179    addressing_mode_tag Vector.vector -> subaddressing_mode Types.sig0 ->
     2180    subaddressing_mode **)
     2181let eject__o__subaddressing_modeel__o__mk_subaddressing_mode x0 x1 x2 x3 x5 =
     2182  eject__o__subaddressing_modeel x0 x2 x5
     2183
     2184(** val subaddressing_modeel__o__mk_subaddressing_mode :
     2185    Nat.nat -> Nat.nat -> addressing_mode_tag Vector.vector ->
     2186    addressing_mode_tag Vector.vector -> subaddressing_mode ->
     2187    subaddressing_mode **)
     2188let subaddressing_modeel__o__mk_subaddressing_mode x0 x1 x2 x3 x4 =
     2189  subaddressing_modeel x0 x2 x4
     2190
     2191(** val dpi1__o__mk_subaddressing_mode :
     2192    Nat.nat -> (addressing_mode, 'a1) Types.dPair -> addressing_mode_tag
     2193    Vector.vector -> subaddressing_mode **)
     2194let dpi1__o__mk_subaddressing_mode x1 x2 x3 =
     2195  x2.Types.dpi1
     2196
     2197(** val eject__o__mk_subaddressing_mode :
     2198    Nat.nat -> addressing_mode Types.sig0 -> addressing_mode_tag
     2199    Vector.vector -> subaddressing_mode **)
     2200let eject__o__mk_subaddressing_mode x1 x2 x3 =
     2201  Types.pi1 x2
    20462202
    20472203type subaddressing_mode_elim_type = __
     
    21362292    'a2 -> 'a2 -> (subaddressing_mode -> 'a2) -> 'a1 preinstruction -> 'a2 **)
    21372293let rec preinstruction_rect_Type4 h_ADD h_ADDC h_SUBB h_INC h_DEC h_MUL h_DIV h_DA h_JC h_JNC h_JB h_JNB h_JBC h_JZ h_JNZ h_CJNE h_DJNZ h_ANL h_ORL h_XRL h_CLR h_CPL h_RL h_RLC h_RR h_RRC h_SWAP h_MOV h_MOVX h_SETB h_PUSH h_POP h_XCH h_XCHD h_RET h_RETI h_NOP h_JMP = function
    2138 | ADD (x_3472, x_3471) -> h_ADD x_3472 x_3471
    2139 | ADDC (x_3474, x_3473) -> h_ADDC x_3474 x_3473
    2140 | SUBB (x_3476, x_3475) -> h_SUBB x_3476 x_3475
    2141 | INC x_3477 -> h_INC x_3477
    2142 | DEC x_3478 -> h_DEC x_3478
    2143 | MUL (x_3480, x_3479) -> h_MUL x_3480 x_3479
    2144 | DIV (x_3482, x_3481) -> h_DIV x_3482 x_3481
    2145 | DA x_3483 -> h_DA x_3483
    2146 | JC x_3484 -> h_JC x_3484
    2147 | JNC x_3485 -> h_JNC x_3485
    2148 | JB (x_3487, x_3486) -> h_JB x_3487 x_3486
    2149 | JNB (x_3489, x_3488) -> h_JNB x_3489 x_3488
    2150 | JBC (x_3491, x_3490) -> h_JBC x_3491 x_3490
    2151 | JZ x_3492 -> h_JZ x_3492
    2152 | JNZ x_3493 -> h_JNZ x_3493
    2153 | CJNE (x_3495, x_3494) -> h_CJNE x_3495 x_3494
    2154 | DJNZ (x_3497, x_3496) -> h_DJNZ x_3497 x_3496
    2155 | ANL x_3498 -> h_ANL x_3498
    2156 | ORL x_3499 -> h_ORL x_3499
    2157 | XRL x_3500 -> h_XRL x_3500
    2158 | CLR x_3501 -> h_CLR x_3501
    2159 | CPL x_3502 -> h_CPL x_3502
    2160 | RL x_3503 -> h_RL x_3503
    2161 | RLC x_3504 -> h_RLC x_3504
    2162 | RR x_3505 -> h_RR x_3505
    2163 | RRC x_3506 -> h_RRC x_3506
    2164 | SWAP x_3507 -> h_SWAP x_3507
    2165 | MOV x_3508 -> h_MOV x_3508
    2166 | MOVX x_3509 -> h_MOVX x_3509
    2167 | SETB x_3510 -> h_SETB x_3510
    2168 | PUSH x_3511 -> h_PUSH x_3511
    2169 | POP x_3512 -> h_POP x_3512
    2170 | XCH (x_3514, x_3513) -> h_XCH x_3514 x_3513
    2171 | XCHD (x_3516, x_3515) -> h_XCHD x_3516 x_3515
     2294| ADD (x_22541, x_22540) -> h_ADD x_22541 x_22540
     2295| ADDC (x_22543, x_22542) -> h_ADDC x_22543 x_22542
     2296| SUBB (x_22545, x_22544) -> h_SUBB x_22545 x_22544
     2297| INC x_22546 -> h_INC x_22546
     2298| DEC x_22547 -> h_DEC x_22547
     2299| MUL (x_22549, x_22548) -> h_MUL x_22549 x_22548
     2300| DIV (x_22551, x_22550) -> h_DIV x_22551 x_22550
     2301| DA x_22552 -> h_DA x_22552
     2302| JC x_22553 -> h_JC x_22553
     2303| JNC x_22554 -> h_JNC x_22554
     2304| JB (x_22556, x_22555) -> h_JB x_22556 x_22555
     2305| JNB (x_22558, x_22557) -> h_JNB x_22558 x_22557
     2306| JBC (x_22560, x_22559) -> h_JBC x_22560 x_22559
     2307| JZ x_22561 -> h_JZ x_22561
     2308| JNZ x_22562 -> h_JNZ x_22562
     2309| CJNE (x_22564, x_22563) -> h_CJNE x_22564 x_22563
     2310| DJNZ (x_22566, x_22565) -> h_DJNZ x_22566 x_22565
     2311| ANL x_22567 -> h_ANL x_22567
     2312| ORL x_22568 -> h_ORL x_22568
     2313| XRL x_22569 -> h_XRL x_22569
     2314| CLR x_22570 -> h_CLR x_22570
     2315| CPL x_22571 -> h_CPL x_22571
     2316| RL x_22572 -> h_RL x_22572
     2317| RLC x_22573 -> h_RLC x_22573
     2318| RR x_22574 -> h_RR x_22574
     2319| RRC x_22575 -> h_RRC x_22575
     2320| SWAP x_22576 -> h_SWAP x_22576
     2321| MOV x_22577 -> h_MOV x_22577
     2322| MOVX x_22578 -> h_MOVX x_22578
     2323| SETB x_22579 -> h_SETB x_22579
     2324| PUSH x_22580 -> h_PUSH x_22580
     2325| POP x_22581 -> h_POP x_22581
     2326| XCH (x_22583, x_22582) -> h_XCH x_22583 x_22582
     2327| XCHD (x_22585, x_22584) -> h_XCHD x_22585 x_22584
    21722328| RET -> h_RET
    21732329| RETI -> h_RETI
    21742330| NOP -> h_NOP
    2175 | JMP x_3517 -> h_JMP x_3517
     2331| JMP x_22586 -> h_JMP x_22586
    21762332
    21772333(** val preinstruction_rect_Type5 :
     
    22112367    'a2 -> 'a2 -> (subaddressing_mode -> 'a2) -> 'a1 preinstruction -> 'a2 **)
    22122368let rec preinstruction_rect_Type5 h_ADD h_ADDC h_SUBB h_INC h_DEC h_MUL h_DIV h_DA h_JC h_JNC h_JB h_JNB h_JBC h_JZ h_JNZ h_CJNE h_DJNZ h_ANL h_ORL h_XRL h_CLR h_CPL h_RL h_RLC h_RR h_RRC h_SWAP h_MOV h_MOVX h_SETB h_PUSH h_POP h_XCH h_XCHD h_RET h_RETI h_NOP h_JMP = function
    2213 | ADD (x_3558, x_3557) -> h_ADD x_3558 x_3557
    2214 | ADDC (x_3560, x_3559) -> h_ADDC x_3560 x_3559
    2215 | SUBB (x_3562, x_3561) -> h_SUBB x_3562 x_3561
    2216 | INC x_3563 -> h_INC x_3563
    2217 | DEC x_3564 -> h_DEC x_3564
    2218 | MUL (x_3566, x_3565) -> h_MUL x_3566 x_3565
    2219 | DIV (x_3568, x_3567) -> h_DIV x_3568 x_3567
    2220 | DA x_3569 -> h_DA x_3569
    2221 | JC x_3570 -> h_JC x_3570
    2222 | JNC x_3571 -> h_JNC x_3571
    2223 | JB (x_3573, x_3572) -> h_JB x_3573 x_3572
    2224 | JNB (x_3575, x_3574) -> h_JNB x_3575 x_3574
    2225 | JBC (x_3577, x_3576) -> h_JBC x_3577 x_3576
    2226 | JZ x_3578 -> h_JZ x_3578
    2227 | JNZ x_3579 -> h_JNZ x_3579
    2228 | CJNE (x_3581, x_3580) -> h_CJNE x_3581 x_3580
    2229 | DJNZ (x_3583, x_3582) -> h_DJNZ x_3583 x_3582
    2230 | ANL x_3584 -> h_ANL x_3584
    2231 | ORL x_3585 -> h_ORL x_3585
    2232 | XRL x_3586 -> h_XRL x_3586
    2233 | CLR x_3587 -> h_CLR x_3587
    2234 | CPL x_3588 -> h_CPL x_3588
    2235 | RL x_3589 -> h_RL x_3589
    2236 | RLC x_3590 -> h_RLC x_3590
    2237 | RR x_3591 -> h_RR x_3591
    2238 | RRC x_3592 -> h_RRC x_3592
    2239 | SWAP x_3593 -> h_SWAP x_3593
    2240 | MOV x_3594 -> h_MOV x_3594
    2241 | MOVX x_3595 -> h_MOVX x_3595
    2242 | SETB x_3596 -> h_SETB x_3596
    2243 | PUSH x_3597 -> h_PUSH x_3597
    2244 | POP x_3598 -> h_POP x_3598
    2245 | XCH (x_3600, x_3599) -> h_XCH x_3600 x_3599
    2246 | XCHD (x_3602, x_3601) -> h_XCHD x_3602 x_3601
     2369| ADD (x_22627, x_22626) -> h_ADD x_22627 x_22626
     2370| ADDC (x_22629, x_22628) -> h_ADDC x_22629 x_22628
     2371| SUBB (x_22631, x_22630) -> h_SUBB x_22631 x_22630
     2372| INC x_22632 -> h_INC x_22632
     2373| DEC x_22633 -> h_DEC x_22633
     2374| MUL (x_22635, x_22634) -> h_MUL x_22635 x_22634
     2375| DIV (x_22637, x_22636) -> h_DIV x_22637 x_22636
     2376| DA x_22638 -> h_DA x_22638
     2377| JC x_22639 -> h_JC x_22639
     2378| JNC x_22640 -> h_JNC x_22640
     2379| JB (x_22642, x_22641) -> h_JB x_22642 x_22641
     2380| JNB (x_22644, x_22643) -> h_JNB x_22644 x_22643
     2381| JBC (x_22646, x_22645) -> h_JBC x_22646 x_22645
     2382| JZ x_22647 -> h_JZ x_22647
     2383| JNZ x_22648 -> h_JNZ x_22648
     2384| CJNE (x_22650, x_22649) -> h_CJNE x_22650 x_22649
     2385| DJNZ (x_22652, x_22651) -> h_DJNZ x_22652 x_22651
     2386| ANL x_22653 -> h_ANL x_22653
     2387| ORL x_22654 -> h_ORL x_22654
     2388| XRL x_22655 -> h_XRL x_22655
     2389| CLR x_22656 -> h_CLR x_22656
     2390| CPL x_22657 -> h_CPL x_22657
     2391| RL x_22658 -> h_RL x_22658
     2392| RLC x_22659 -> h_RLC x_22659
     2393| RR x_22660 -> h_RR x_22660
     2394| RRC x_22661 -> h_RRC x_22661
     2395| SWAP x_22662 -> h_SWAP x_22662
     2396| MOV x_22663 -> h_MOV x_22663
     2397| MOVX x_22664 -> h_MOVX x_22664
     2398| SETB x_22665 -> h_SETB x_22665
     2399| PUSH x_22666 -> h_PUSH x_22666
     2400| POP x_22667 -> h_POP x_22667
     2401| XCH (x_22669, x_22668) -> h_XCH x_22669 x_22668
     2402| XCHD (x_22671, x_22670) -> h_XCHD x_22671 x_22670
    22472403| RET -> h_RET
    22482404| RETI -> h_RETI
    22492405| NOP -> h_NOP
    2250 | JMP x_3603 -> h_JMP x_3603
     2406| JMP x_22672 -> h_JMP x_22672
    22512407
    22522408(** val preinstruction_rect_Type3 :
     
    22862442    'a2 -> 'a2 -> (subaddressing_mode -> 'a2) -> 'a1 preinstruction -> 'a2 **)
    22872443let rec preinstruction_rect_Type3 h_ADD h_ADDC h_SUBB h_INC h_DEC h_MUL h_DIV h_DA h_JC h_JNC h_JB h_JNB h_JBC h_JZ h_JNZ h_CJNE h_DJNZ h_ANL h_ORL h_XRL h_CLR h_CPL h_RL h_RLC h_RR h_RRC h_SWAP h_MOV h_MOVX h_SETB h_PUSH h_POP h_XCH h_XCHD h_RET h_RETI h_NOP h_JMP = function
    2288 | ADD (x_3644, x_3643) -> h_ADD x_3644 x_3643
    2289 | ADDC (x_3646, x_3645) -> h_ADDC x_3646 x_3645
    2290 | SUBB (x_3648, x_3647) -> h_SUBB x_3648 x_3647
    2291 | INC x_3649 -> h_INC x_3649
    2292 | DEC x_3650 -> h_DEC x_3650
    2293 | MUL (x_3652, x_3651) -> h_MUL x_3652 x_3651
    2294 | DIV (x_3654, x_3653) -> h_DIV x_3654 x_3653
    2295 | DA x_3655 -> h_DA x_3655
    2296 | JC x_3656 -> h_JC x_3656
    2297 | JNC x_3657 -> h_JNC x_3657
    2298 | JB (x_3659, x_3658) -> h_JB x_3659 x_3658
    2299 | JNB (x_3661, x_3660) -> h_JNB x_3661 x_3660
    2300 | JBC (x_3663, x_3662) -> h_JBC x_3663 x_3662
    2301 | JZ x_3664 -> h_JZ x_3664
    2302 | JNZ x_3665 -> h_JNZ x_3665
    2303 | CJNE (x_3667, x_3666) -> h_CJNE x_3667 x_3666
    2304 | DJNZ (x_3669, x_3668) -> h_DJNZ x_3669 x_3668
    2305 | ANL x_3670 -> h_ANL x_3670
    2306 | ORL x_3671 -> h_ORL x_3671
    2307 | XRL x_3672 -> h_XRL x_3672
    2308 | CLR x_3673 -> h_CLR x_3673
    2309 | CPL x_3674 -> h_CPL x_3674
    2310 | RL x_3675 -> h_RL x_3675
    2311 | RLC x_3676 -> h_RLC x_3676
    2312 | RR x_3677 -> h_RR x_3677
    2313 | RRC x_3678 -> h_RRC x_3678
    2314 | SWAP x_3679 -> h_SWAP x_3679
    2315 | MOV x_3680 -> h_MOV x_3680
    2316 | MOVX x_3681 -> h_MOVX x_3681
    2317 | SETB x_3682 -> h_SETB x_3682
    2318 | PUSH x_3683 -> h_PUSH x_3683
    2319 | POP x_3684 -> h_POP x_3684
    2320 | XCH (x_3686, x_3685) -> h_XCH x_3686 x_3685
    2321 | XCHD (x_3688, x_3687) -> h_XCHD x_3688 x_3687
     2444| ADD (x_22713, x_22712) -> h_ADD x_22713 x_22712
     2445| ADDC (x_22715, x_22714) -> h_ADDC x_22715 x_22714
     2446| SUBB (x_22717, x_22716) -> h_SUBB x_22717 x_22716
     2447| INC x_22718 -> h_INC x_22718
     2448| DEC x_22719 -> h_DEC x_22719
     2449| MUL (x_22721, x_22720) -> h_MUL x_22721 x_22720
     2450| DIV (x_22723, x_22722) -> h_DIV x_22723 x_22722
     2451| DA x_22724 -> h_DA x_22724
     2452| JC x_22725 -> h_JC x_22725
     2453| JNC x_22726 -> h_JNC x_22726
     2454| JB (x_22728, x_22727) -> h_JB x_22728 x_22727
     2455| JNB (x_22730, x_22729) -> h_JNB x_22730 x_22729
     2456| JBC (x_22732, x_22731) -> h_JBC x_22732 x_22731
     2457| JZ x_22733 -> h_JZ x_22733
     2458| JNZ x_22734 -> h_JNZ x_22734
     2459| CJNE (x_22736, x_22735) -> h_CJNE x_22736 x_22735
     2460| DJNZ (x_22738, x_22737) -> h_DJNZ x_22738 x_22737
     2461| ANL x_22739 -> h_ANL x_22739
     2462| ORL x_22740 -> h_ORL x_22740
     2463| XRL x_22741 -> h_XRL x_22741
     2464| CLR x_22742 -> h_CLR x_22742
     2465| CPL x_22743 -> h_CPL x_22743
     2466| RL x_22744 -> h_RL x_22744
     2467| RLC x_22745 -> h_RLC x_22745
     2468| RR x_22746 -> h_RR x_22746
     2469| RRC x_22747 -> h_RRC x_22747
     2470| SWAP x_22748 -> h_SWAP x_22748
     2471| MOV x_22749 -> h_MOV x_22749
     2472| MOVX x_22750 -> h_MOVX x_22750
     2473| SETB x_22751 -> h_SETB x_22751
     2474| PUSH x_22752 -> h_PUSH x_22752
     2475| POP x_22753 -> h_POP x_22753
     2476| XCH (x_22755, x_22754) -> h_XCH x_22755 x_22754
     2477| XCHD (x_22757, x_22756) -> h_XCHD x_22757 x_22756
    23222478| RET -> h_RET
    23232479| RETI -> h_RETI
    23242480| NOP -> h_NOP
    2325 | JMP x_3689 -> h_JMP x_3689
     2481| JMP x_22758 -> h_JMP x_22758
    23262482
    23272483(** val preinstruction_rect_Type2 :
     
    23612517    'a2 -> 'a2 -> (subaddressing_mode -> 'a2) -> 'a1 preinstruction -> 'a2 **)
    23622518let rec preinstruction_rect_Type2 h_ADD h_ADDC h_SUBB h_INC h_DEC h_MUL h_DIV h_DA h_JC h_JNC h_JB h_JNB h_JBC h_JZ h_JNZ h_CJNE h_DJNZ h_ANL h_ORL h_XRL h_CLR h_CPL h_RL h_RLC h_RR h_RRC h_SWAP h_MOV h_MOVX h_SETB h_PUSH h_POP h_XCH h_XCHD h_RET h_RETI h_NOP h_JMP = function
    2363 | ADD (x_3730, x_3729) -> h_ADD x_3730 x_3729
    2364 | ADDC (x_3732, x_3731) -> h_ADDC x_3732 x_3731
    2365 | SUBB (x_3734, x_3733) -> h_SUBB x_3734 x_3733
    2366 | INC x_3735 -> h_INC x_3735
    2367 | DEC x_3736 -> h_DEC x_3736
    2368 | MUL (x_3738, x_3737) -> h_MUL x_3738 x_3737
    2369 | DIV (x_3740, x_3739) -> h_DIV x_3740 x_3739
    2370 | DA x_3741 -> h_DA x_3741
    2371 | JC x_3742 -> h_JC x_3742
    2372 | JNC x_3743 -> h_JNC x_3743
    2373 | JB (x_3745, x_3744) -> h_JB x_3745 x_3744
    2374 | JNB (x_3747, x_3746) -> h_JNB x_3747 x_3746
    2375 | JBC (x_3749, x_3748) -> h_JBC x_3749 x_3748
    2376 | JZ x_3750 -> h_JZ x_3750
    2377 | JNZ x_3751 -> h_JNZ x_3751
    2378 | CJNE (x_3753, x_3752) -> h_CJNE x_3753 x_3752
    2379 | DJNZ (x_3755, x_3754) -> h_DJNZ x_3755 x_3754
    2380 | ANL x_3756 -> h_ANL x_3756
    2381 | ORL x_3757 -> h_ORL x_3757
    2382 | XRL x_3758 -> h_XRL x_3758
    2383 | CLR x_3759 -> h_CLR x_3759
    2384 | CPL x_3760 -> h_CPL x_3760
    2385 | RL x_3761 -> h_RL x_3761
    2386 | RLC x_3762 -> h_RLC x_3762
    2387 | RR x_3763 -> h_RR x_3763
    2388 | RRC x_3764 -> h_RRC x_3764
    2389 | SWAP x_3765 -> h_SWAP x_3765
    2390 | MOV x_3766 -> h_MOV x_3766
    2391 | MOVX x_3767 -> h_MOVX x_3767
    2392 | SETB x_3768 -> h_SETB x_3768
    2393 | PUSH x_3769 -> h_PUSH x_3769
    2394 | POP x_3770 -> h_POP x_3770
    2395 | XCH (x_3772, x_3771) -> h_XCH x_3772 x_3771
    2396 | XCHD (x_3774, x_3773) -> h_XCHD x_3774 x_3773
     2519| ADD (x_22799, x_22798) -> h_ADD x_22799 x_22798
     2520| ADDC (x_22801, x_22800) -> h_ADDC x_22801 x_22800
     2521| SUBB (x_22803, x_22802) -> h_SUBB x_22803 x_22802
     2522| INC x_22804 -> h_INC x_22804
     2523| DEC x_22805 -> h_DEC x_22805
     2524| MUL (x_22807, x_22806) -> h_MUL x_22807 x_22806
     2525| DIV (x_22809, x_22808) -> h_DIV x_22809 x_22808
     2526| DA x_22810 -> h_DA x_22810
     2527| JC x_22811 -> h_JC x_22811
     2528| JNC x_22812 -> h_JNC x_22812
     2529| JB (x_22814, x_22813) -> h_JB x_22814 x_22813
     2530| JNB (x_22816, x_22815) -> h_JNB x_22816 x_22815
     2531| JBC (x_22818, x_22817) -> h_JBC x_22818 x_22817
     2532| JZ x_22819 -> h_JZ x_22819
     2533| JNZ x_22820 -> h_JNZ x_22820
     2534| CJNE (x_22822, x_22821) -> h_CJNE x_22822 x_22821
     2535| DJNZ (x_22824, x_22823) -> h_DJNZ x_22824 x_22823
     2536| ANL x_22825 -> h_ANL x_22825
     2537| ORL x_22826 -> h_ORL x_22826
     2538| XRL x_22827 -> h_XRL x_22827
     2539| CLR x_22828 -> h_CLR x_22828
     2540| CPL x_22829 -> h_CPL x_22829
     2541| RL x_22830 -> h_RL x_22830
     2542| RLC x_22831 -> h_RLC x_22831
     2543| RR x_22832 -> h_RR x_22832
     2544| RRC x_22833 -> h_RRC x_22833
     2545| SWAP x_22834 -> h_SWAP x_22834
     2546| MOV x_22835 -> h_MOV x_22835
     2547| MOVX x_22836 -> h_MOVX x_22836
     2548| SETB x_22837 -> h_SETB x_22837
     2549| PUSH x_22838 -> h_PUSH x_22838
     2550| POP x_22839 -> h_POP x_22839
     2551| XCH (x_22841, x_22840) -> h_XCH x_22841 x_22840
     2552| XCHD (x_22843, x_22842) -> h_XCHD x_22843 x_22842
    23972553| RET -> h_RET
    23982554| RETI -> h_RETI
    23992555| NOP -> h_NOP
    2400 | JMP x_3775 -> h_JMP x_3775
     2556| JMP x_22844 -> h_JMP x_22844
    24012557
    24022558(** val preinstruction_rect_Type1 :
     
    24362592    'a2 -> 'a2 -> (subaddressing_mode -> 'a2) -> 'a1 preinstruction -> 'a2 **)
    24372593let rec preinstruction_rect_Type1 h_ADD h_ADDC h_SUBB h_INC h_DEC h_MUL h_DIV h_DA h_JC h_JNC h_JB h_JNB h_JBC h_JZ h_JNZ h_CJNE h_DJNZ h_ANL h_ORL h_XRL h_CLR h_CPL h_RL h_RLC h_RR h_RRC h_SWAP h_MOV h_MOVX h_SETB h_PUSH h_POP h_XCH h_XCHD h_RET h_RETI h_NOP h_JMP = function
    2438 | ADD (x_3816, x_3815) -> h_ADD x_3816 x_3815
    2439 | ADDC (x_3818, x_3817) -> h_ADDC x_3818 x_3817
    2440 | SUBB (x_3820, x_3819) -> h_SUBB x_3820 x_3819
    2441 | INC x_3821 -> h_INC x_3821
    2442 | DEC x_3822 -> h_DEC x_3822
    2443 | MUL (x_3824, x_3823) -> h_MUL x_3824 x_3823
    2444 | DIV (x_3826, x_3825) -> h_DIV x_3826 x_3825
    2445 | DA x_3827 -> h_DA x_3827
    2446 | JC x_3828 -> h_JC x_3828
    2447 | JNC x_3829 -> h_JNC x_3829
    2448 | JB (x_3831, x_3830) -> h_JB x_3831 x_3830
    2449 | JNB (x_3833, x_3832) -> h_JNB x_3833 x_3832
    2450 | JBC (x_3835, x_3834) -> h_JBC x_3835 x_3834
    2451 | JZ x_3836 -> h_JZ x_3836
    2452 | JNZ x_3837 -> h_JNZ x_3837
    2453 | CJNE (x_3839, x_3838) -> h_CJNE x_3839 x_3838
    2454 | DJNZ (x_3841, x_3840) -> h_DJNZ x_3841 x_3840
    2455 | ANL x_3842 -> h_ANL x_3842
    2456 | ORL x_3843 -> h_ORL x_3843
    2457 | XRL x_3844 -> h_XRL x_3844
    2458 | CLR x_3845 -> h_CLR x_3845
    2459 | CPL x_3846 -> h_CPL x_3846
    2460 | RL x_3847 -> h_RL x_3847
    2461 | RLC x_3848 -> h_RLC x_3848
    2462 | RR x_3849 -> h_RR x_3849
    2463 | RRC x_3850 -> h_RRC x_3850
    2464 | SWAP x_3851 -> h_SWAP x_3851
    2465 | MOV x_3852 -> h_MOV x_3852
    2466 | MOVX x_3853 -> h_MOVX x_3853
    2467 | SETB x_3854 -> h_SETB x_3854
    2468 | PUSH x_3855 -> h_PUSH x_3855
    2469 | POP x_3856 -> h_POP x_3856
    2470 | XCH (x_3858, x_3857) -> h_XCH x_3858 x_3857
    2471 | XCHD (x_3860, x_3859) -> h_XCHD x_3860 x_3859
     2594| ADD (x_22885, x_22884) -> h_ADD x_22885 x_22884
     2595| ADDC (x_22887, x_22886) -> h_ADDC x_22887 x_22886
     2596| SUBB (x_22889, x_22888) -> h_SUBB x_22889 x_22888
     2597| INC x_22890 -> h_INC x_22890
     2598| DEC x_22891 -> h_DEC x_22891
     2599| MUL (x_22893, x_22892) -> h_MUL x_22893 x_22892
     2600| DIV (x_22895, x_22894) -> h_DIV x_22895 x_22894
     2601| DA x_22896 -> h_DA x_22896
     2602| JC x_22897 -> h_JC x_22897
     2603| JNC x_22898 -> h_JNC x_22898
     2604| JB (x_22900, x_22899) -> h_JB x_22900 x_22899
     2605| JNB (x_22902, x_22901) -> h_JNB x_22902 x_22901
     2606| JBC (x_22904, x_22903) -> h_JBC x_22904 x_22903
     2607| JZ x_22905 -> h_JZ x_22905
     2608| JNZ x_22906 -> h_JNZ x_22906
     2609| CJNE (x_22908, x_22907) -> h_CJNE x_22908 x_22907
     2610| DJNZ (x_22910, x_22909) -> h_DJNZ x_22910 x_22909
     2611| ANL x_22911 -> h_ANL x_22911
     2612| ORL x_22912 -> h_ORL x_22912
     2613| XRL x_22913 -> h_XRL x_22913
     2614| CLR x_22914 -> h_CLR x_22914
     2615| CPL x_22915 -> h_CPL x_22915
     2616| RL x_22916 -> h_RL x_22916
     2617| RLC x_22917 -> h_RLC x_22917
     2618| RR x_22918 -> h_RR x_22918
     2619| RRC x_22919 -> h_RRC x_22919
     2620| SWAP x_22920 -> h_SWAP x_22920
     2621| MOV x_22921 -> h_MOV x_22921
     2622| MOVX x_22922 -> h_MOVX x_22922
     2623| SETB x_22923 -> h_SETB x_22923
     2624| PUSH x_22924 -> h_PUSH x_22924
     2625| POP x_22925 -> h_POP x_22925
     2626| XCH (x_22927, x_22926) -> h_XCH x_22927 x_22926
     2627| XCHD (x_22929, x_22928) -> h_XCHD x_22929 x_22928
    24722628| RET -> h_RET
    24732629| RETI -> h_RETI
    24742630| NOP -> h_NOP
    2475 | JMP x_3861 -> h_JMP x_3861
     2631| JMP x_22930 -> h_JMP x_22930
    24762632
    24772633(** val preinstruction_rect_Type0 :
     
    25112667    'a2 -> 'a2 -> (subaddressing_mode -> 'a2) -> 'a1 preinstruction -> 'a2 **)
    25122668let rec preinstruction_rect_Type0 h_ADD h_ADDC h_SUBB h_INC h_DEC h_MUL h_DIV h_DA h_JC h_JNC h_JB h_JNB h_JBC h_JZ h_JNZ h_CJNE h_DJNZ h_ANL h_ORL h_XRL h_CLR h_CPL h_RL h_RLC h_RR h_RRC h_SWAP h_MOV h_MOVX h_SETB h_PUSH h_POP h_XCH h_XCHD h_RET h_RETI h_NOP h_JMP = function
    2513 | ADD (x_3902, x_3901) -> h_ADD x_3902 x_3901
    2514 | ADDC (x_3904, x_3903) -> h_ADDC x_3904 x_3903
    2515 | SUBB (x_3906, x_3905) -> h_SUBB x_3906 x_3905
    2516 | INC x_3907 -> h_INC x_3907
    2517 | DEC x_3908 -> h_DEC x_3908
    2518 | MUL (x_3910, x_3909) -> h_MUL x_3910 x_3909
    2519 | DIV (x_3912, x_3911) -> h_DIV x_3912 x_3911
    2520 | DA x_3913 -> h_DA x_3913
    2521 | JC x_3914 -> h_JC x_3914
    2522 | JNC x_3915 -> h_JNC x_3915
    2523 | JB (x_3917, x_3916) -> h_JB x_3917 x_3916
    2524 | JNB (x_3919, x_3918) -> h_JNB x_3919 x_3918
    2525 | JBC (x_3921, x_3920) -> h_JBC x_3921 x_3920
    2526 | JZ x_3922 -> h_JZ x_3922
    2527 | JNZ x_3923 -> h_JNZ x_3923
    2528 | CJNE (x_3925, x_3924) -> h_CJNE x_3925 x_3924
    2529 | DJNZ (x_3927, x_3926) -> h_DJNZ x_3927 x_3926
    2530 | ANL x_3928 -> h_ANL x_3928
    2531 | ORL x_3929 -> h_ORL x_3929
    2532 | XRL x_3930 -> h_XRL x_3930
    2533 | CLR x_3931 -> h_CLR x_3931
    2534 | CPL x_3932 -> h_CPL x_3932
    2535 | RL x_3933 -> h_RL x_3933
    2536 | RLC x_3934 -> h_RLC x_3934
    2537 | RR x_3935 -> h_RR x_3935
    2538 | RRC x_3936 -> h_RRC x_3936
    2539 | SWAP x_3937 -> h_SWAP x_3937
    2540 | MOV x_3938 -> h_MOV x_3938
    2541 | MOVX x_3939 -> h_MOVX x_3939
    2542 | SETB x_3940 -> h_SETB x_3940
    2543 | PUSH x_3941 -> h_PUSH x_3941
    2544 | POP x_3942 -> h_POP x_3942
    2545 | XCH (x_3944, x_3943) -> h_XCH x_3944 x_3943
    2546 | XCHD (x_3946, x_3945) -> h_XCHD x_3946 x_3945
     2669| ADD (x_22971, x_22970) -> h_ADD x_22971 x_22970
     2670| ADDC (x_22973, x_22972) -> h_ADDC x_22973 x_22972
     2671| SUBB (x_22975, x_22974) -> h_SUBB x_22975 x_22974
     2672| INC x_22976 -> h_INC x_22976
     2673| DEC x_22977 -> h_DEC x_22977
     2674| MUL (x_22979, x_22978) -> h_MUL x_22979 x_22978
     2675| DIV (x_22981, x_22980) -> h_DIV x_22981 x_22980
     2676| DA x_22982 -> h_DA x_22982
     2677| JC x_22983 -> h_JC x_22983
     2678| JNC x_22984 -> h_JNC x_22984
     2679| JB (x_22986, x_22985) -> h_JB x_22986 x_22985
     2680| JNB (x_22988, x_22987) -> h_JNB x_22988 x_22987
     2681| JBC (x_22990, x_22989) -> h_JBC x_22990 x_22989
     2682| JZ x_22991 -> h_JZ x_22991
     2683| JNZ x_22992 -> h_JNZ x_22992
     2684| CJNE (x_22994, x_22993) -> h_CJNE x_22994 x_22993
     2685| DJNZ (x_22996, x_22995) -> h_DJNZ x_22996 x_22995
     2686| ANL x_22997 -> h_ANL x_22997
     2687| ORL x_22998 -> h_ORL x_22998
     2688| XRL x_22999 -> h_XRL x_22999
     2689| CLR x_23000 -> h_CLR x_23000
     2690| CPL x_23001 -> h_CPL x_23001
     2691| RL x_23002 -> h_RL x_23002
     2692| RLC x_23003 -> h_RLC x_23003
     2693| RR x_23004 -> h_RR x_23004
     2694| RRC x_23005 -> h_RRC x_23005
     2695| SWAP x_23006 -> h_SWAP x_23006
     2696| MOV x_23007 -> h_MOV x_23007
     2697| MOVX x_23008 -> h_MOVX x_23008
     2698| SETB x_23009 -> h_SETB x_23009
     2699| PUSH x_23010 -> h_PUSH x_23010
     2700| POP x_23011 -> h_POP x_23011
     2701| XCH (x_23013, x_23012) -> h_XCH x_23013 x_23012
     2702| XCHD (x_23015, x_23014) -> h_XCHD x_23015 x_23014
    25472703| RET -> h_RET
    25482704| RETI -> h_RETI
    25492705| NOP -> h_NOP
    2550 | JMP x_3947 -> h_JMP x_3947
     2706| JMP x_23016 -> h_JMP x_23016
    25512707
    25522708(** val preinstruction_inv_rect_Type4 :
     
    49525108    'a1 **)
    49535109let rec instruction_rect_Type4 h_ACALL h_LCALL h_AJMP h_LJMP h_SJMP h_MOVC h_RealInstruction = function
    4954 | ACALL x_4519 -> h_ACALL x_4519
    4955 | LCALL x_4520 -> h_LCALL x_4520
    4956 | AJMP x_4521 -> h_AJMP x_4521
    4957 | LJMP x_4522 -> h_LJMP x_4522
    4958 | SJMP x_4523 -> h_SJMP x_4523
    4959 | MOVC (x_4525, x_4524) -> h_MOVC x_4525 x_4524
    4960 | RealInstruction x_4526 -> h_RealInstruction x_4526
     5110| ACALL x_23588 -> h_ACALL x_23588
     5111| LCALL x_23589 -> h_LCALL x_23589
     5112| AJMP x_23590 -> h_AJMP x_23590
     5113| LJMP x_23591 -> h_LJMP x_23591
     5114| SJMP x_23592 -> h_SJMP x_23592
     5115| MOVC (x_23594, x_23593) -> h_MOVC x_23594 x_23593
     5116| RealInstruction x_23595 -> h_RealInstruction x_23595
    49615117
    49625118(** val instruction_rect_Type5 :
     
    49675123    'a1 **)
    49685124let rec instruction_rect_Type5 h_ACALL h_LCALL h_AJMP h_LJMP h_SJMP h_MOVC h_RealInstruction = function
    4969 | ACALL x_4535 -> h_ACALL x_4535
    4970 | LCALL x_4536 -> h_LCALL x_4536
    4971 | AJMP x_4537 -> h_AJMP x_4537
    4972 | LJMP x_4538 -> h_LJMP x_4538
    4973 | SJMP x_4539 -> h_SJMP x_4539
    4974 | MOVC (x_4541, x_4540) -> h_MOVC x_4541 x_4540
    4975 | RealInstruction x_4542 -> h_RealInstruction x_4542
     5125| ACALL x_23604 -> h_ACALL x_23604
     5126| LCALL x_23605 -> h_LCALL x_23605
     5127| AJMP x_23606 -> h_AJMP x_23606
     5128| LJMP x_23607 -> h_LJMP x_23607
     5129| SJMP x_23608 -> h_SJMP x_23608
     5130| MOVC (x_23610, x_23609) -> h_MOVC x_23610 x_23609
     5131| RealInstruction x_23611 -> h_RealInstruction x_23611
    49765132
    49775133(** val instruction_rect_Type3 :
     
    49825138    'a1 **)
    49835139let rec instruction_rect_Type3 h_ACALL h_LCALL h_AJMP h_LJMP h_SJMP h_MOVC h_RealInstruction = function
    4984 | ACALL x_4551 -> h_ACALL x_4551
    4985 | LCALL x_4552 -> h_LCALL x_4552
    4986 | AJMP x_4553 -> h_AJMP x_4553
    4987 | LJMP x_4554 -> h_LJMP x_4554
    4988 | SJMP x_4555 -> h_SJMP x_4555
    4989 | MOVC (x_4557, x_4556) -> h_MOVC x_4557 x_4556
    4990 | RealInstruction x_4558 -> h_RealInstruction x_4558
     5140| ACALL x_23620 -> h_ACALL x_23620
     5141| LCALL x_23621 -> h_LCALL x_23621
     5142| AJMP x_23622 -> h_AJMP x_23622
     5143| LJMP x_23623 -> h_LJMP x_23623
     5144| SJMP x_23624 -> h_SJMP x_23624
     5145| MOVC (x_23626, x_23625) -> h_MOVC x_23626 x_23625
     5146| RealInstruction x_23627 -> h_RealInstruction x_23627
    49915147
    49925148(** val instruction_rect_Type2 :
     
    49975153    'a1 **)
    49985154let rec instruction_rect_Type2 h_ACALL h_LCALL h_AJMP h_LJMP h_SJMP h_MOVC h_RealInstruction = function
    4999 | ACALL x_4567 -> h_ACALL x_4567
    5000 | LCALL x_4568 -> h_LCALL x_4568
    5001 | AJMP x_4569 -> h_AJMP x_4569
    5002 | LJMP x_4570 -> h_LJMP x_4570
    5003 | SJMP x_4571 -> h_SJMP x_4571
    5004 | MOVC (x_4573, x_4572) -> h_MOVC x_4573 x_4572
    5005 | RealInstruction x_4574 -> h_RealInstruction x_4574
     5155| ACALL x_23636 -> h_ACALL x_23636
     5156| LCALL x_23637 -> h_LCALL x_23637
     5157| AJMP x_23638 -> h_AJMP x_23638
     5158| LJMP x_23639 -> h_LJMP x_23639
     5159| SJMP x_23640 -> h_SJMP x_23640
     5160| MOVC (x_23642, x_23641) -> h_MOVC x_23642 x_23641
     5161| RealInstruction x_23643 -> h_RealInstruction x_23643
    50065162
    50075163(** val instruction_rect_Type1 :
     
    50125168    'a1 **)
    50135169let rec instruction_rect_Type1 h_ACALL h_LCALL h_AJMP h_LJMP h_SJMP h_MOVC h_RealInstruction = function
    5014 | ACALL x_4583 -> h_ACALL x_4583
    5015 | LCALL x_4584 -> h_LCALL x_4584
    5016 | AJMP x_4585 -> h_AJMP x_4585
    5017 | LJMP x_4586 -> h_LJMP x_4586
    5018 | SJMP x_4587 -> h_SJMP x_4587
    5019 | MOVC (x_4589, x_4588) -> h_MOVC x_4589 x_4588
    5020 | RealInstruction x_4590 -> h_RealInstruction x_4590
     5170| ACALL x_23652 -> h_ACALL x_23652
     5171| LCALL x_23653 -> h_LCALL x_23653
     5172| AJMP x_23654 -> h_AJMP x_23654
     5173| LJMP x_23655 -> h_LJMP x_23655
     5174| SJMP x_23656 -> h_SJMP x_23656
     5175| MOVC (x_23658, x_23657) -> h_MOVC x_23658 x_23657
     5176| RealInstruction x_23659 -> h_RealInstruction x_23659
    50215177
    50225178(** val instruction_rect_Type0 :
     
    50275183    'a1 **)
    50285184let rec instruction_rect_Type0 h_ACALL h_LCALL h_AJMP h_LJMP h_SJMP h_MOVC h_RealInstruction = function
    5029 | ACALL x_4599 -> h_ACALL x_4599
    5030 | LCALL x_4600 -> h_LCALL x_4600
    5031 | AJMP x_4601 -> h_AJMP x_4601
    5032 | LJMP x_4602 -> h_LJMP x_4602
    5033 | SJMP x_4603 -> h_SJMP x_4603
    5034 | MOVC (x_4605, x_4604) -> h_MOVC x_4605 x_4604
    5035 | RealInstruction x_4606 -> h_RealInstruction x_4606
     5185| ACALL x_23668 -> h_ACALL x_23668
     5186| LCALL x_23669 -> h_LCALL x_23669
     5187| AJMP x_23670 -> h_AJMP x_23670
     5188| LJMP x_23671 -> h_LJMP x_23671
     5189| SJMP x_23672 -> h_SJMP x_23672
     5190| MOVC (x_23674, x_23673) -> h_MOVC x_23674 x_23673
     5191| RealInstruction x_23675 -> h_RealInstruction x_23675
    50365192
    50375193(** val instruction_inv_rect_Type4 :
     
    51035259     | MOVC (a0, a1) -> Obj.magic (fun _ dH -> dH __ __)
    51045260     | RealInstruction a0 -> Obj.magic (fun _ dH -> dH __)) y
     5261
     5262(** val dpi1__o__RealInstruction__o__inject :
     5263    (subaddressing_mode preinstruction, 'a1) Types.dPair -> instruction
     5264    Types.sig0 **)
     5265let dpi1__o__RealInstruction__o__inject x2 =
     5266  RealInstruction x2.Types.dpi1
     5267
     5268(** val eject__o__RealInstruction__o__inject :
     5269    subaddressing_mode preinstruction Types.sig0 -> instruction Types.sig0 **)
     5270let eject__o__RealInstruction__o__inject x2 =
     5271  RealInstruction (Types.pi1 x2)
     5272
     5273(** val realInstruction__o__inject :
     5274    subaddressing_mode preinstruction -> instruction Types.sig0 **)
     5275let realInstruction__o__inject x1 =
     5276  RealInstruction x1
     5277
     5278(** val dpi1__o__RealInstruction :
     5279    (subaddressing_mode preinstruction, 'a1) Types.dPair -> instruction **)
     5280let dpi1__o__RealInstruction x1 =
     5281  RealInstruction x1.Types.dpi1
     5282
     5283(** val eject__o__RealInstruction :
     5284    subaddressing_mode preinstruction Types.sig0 -> instruction **)
     5285let eject__o__RealInstruction x1 =
     5286  RealInstruction (Types.pi1 x1)
    51055287
    51065288(** val eq_instruction : instruction -> instruction -> Bool.bool **)
     
    52985480    pseudo_instruction -> 'a1 **)
    52995481let rec pseudo_instruction_rect_Type4 h_Instruction h_Comment h_Cost h_Jmp h_Jnz h_MovSuccessor h_Call h_Mov = function
    5300 | Instruction x_4772 -> h_Instruction x_4772
    5301 | Comment x_4773 -> h_Comment x_4773
    5302 | Cost x_4774 -> h_Cost x_4774
    5303 | Jmp x_4775 -> h_Jmp x_4775
    5304 | Jnz (x_4778, x_4777, x_4776) -> h_Jnz x_4778 x_4777 x_4776
    5305 | MovSuccessor (x_4781, x_4780, x_4779) ->
    5306   h_MovSuccessor x_4781 x_4780 x_4779
    5307 | Call x_4782 -> h_Call x_4782
    5308 | Mov (x_4784, x_4783) -> h_Mov x_4784 x_4783
     5482| Instruction x_23841 -> h_Instruction x_23841
     5483| Comment x_23842 -> h_Comment x_23842
     5484| Cost x_23843 -> h_Cost x_23843
     5485| Jmp x_23844 -> h_Jmp x_23844
     5486| Jnz (x_23847, x_23846, x_23845) -> h_Jnz x_23847 x_23846 x_23845
     5487| MovSuccessor (x_23850, x_23849, x_23848) ->
     5488  h_MovSuccessor x_23850 x_23849 x_23848
     5489| Call x_23851 -> h_Call x_23851
     5490| Mov (x_23853, x_23852) -> h_Mov x_23853 x_23852
    53095491
    53105492(** val pseudo_instruction_rect_Type5 :
     
    53165498    pseudo_instruction -> 'a1 **)
    53175499let rec pseudo_instruction_rect_Type5 h_Instruction h_Comment h_Cost h_Jmp h_Jnz h_MovSuccessor h_Call h_Mov = function
    5318 | Instruction x_4794 -> h_Instruction x_4794
    5319 | Comment x_4795 -> h_Comment x_4795
    5320 | Cost x_4796 -> h_Cost x_4796
    5321 | Jmp x_4797 -> h_Jmp x_4797
    5322 | Jnz (x_4800, x_4799, x_4798) -> h_Jnz x_4800 x_4799 x_4798
    5323 | MovSuccessor (x_4803, x_4802, x_4801) ->
    5324   h_MovSuccessor x_4803 x_4802 x_4801
    5325 | Call x_4804 -> h_Call x_4804
    5326 | Mov (x_4806, x_4805) -> h_Mov x_4806 x_4805
     5500| Instruction x_23863 -> h_Instruction x_23863
     5501| Comment x_23864 -> h_Comment x_23864
     5502| Cost x_23865 -> h_Cost x_23865
     5503| Jmp x_23866 -> h_Jmp x_23866
     5504| Jnz (x_23869, x_23868, x_23867) -> h_Jnz x_23869 x_23868 x_23867
     5505| MovSuccessor (x_23872, x_23871, x_23870) ->
     5506  h_MovSuccessor x_23872 x_23871 x_23870
     5507| Call x_23873 -> h_Call x_23873
     5508| Mov (x_23875, x_23874) -> h_Mov x_23875 x_23874
    53275509
    53285510(** val pseudo_instruction_rect_Type3 :
     
    53345516    pseudo_instruction -> 'a1 **)
    53355517let rec pseudo_instruction_rect_Type3 h_Instruction h_Comment h_Cost h_Jmp h_Jnz h_MovSuccessor h_Call h_Mov = function
    5336 | Instruction x_4816 -> h_Instruction x_4816
    5337 | Comment x_4817 -> h_Comment x_4817
    5338 | Cost x_4818 -> h_Cost x_4818
    5339 | Jmp x_4819 -> h_Jmp x_4819
    5340 | Jnz (x_4822, x_4821, x_4820) -> h_Jnz x_4822 x_4821 x_4820
    5341 | MovSuccessor (x_4825, x_4824, x_4823) ->
    5342   h_MovSuccessor x_4825 x_4824 x_4823
    5343 | Call x_4826 -> h_Call x_4826
    5344 | Mov (x_4828, x_4827) -> h_Mov x_4828 x_4827
     5518| Instruction x_23885 -> h_Instruction x_23885
     5519| Comment x_23886 -> h_Comment x_23886
     5520| Cost x_23887 -> h_Cost x_23887
     5521| Jmp x_23888 -> h_Jmp x_23888
     5522| Jnz (x_23891, x_23890, x_23889) -> h_Jnz x_23891 x_23890 x_23889
     5523| MovSuccessor (x_23894, x_23893, x_23892) ->
     5524  h_MovSuccessor x_23894 x_23893 x_23892
     5525| Call x_23895 -> h_Call x_23895
     5526| Mov (x_23897, x_23896) -> h_Mov x_23897 x_23896
    53455527
    53465528(** val pseudo_instruction_rect_Type2 :
     
    53525534    pseudo_instruction -> 'a1 **)
    53535535let rec pseudo_instruction_rect_Type2 h_Instruction h_Comment h_Cost h_Jmp h_Jnz h_MovSuccessor h_Call h_Mov = function
    5354 | Instruction x_4838 -> h_Instruction x_4838
    5355 | Comment x_4839 -> h_Comment x_4839
    5356 | Cost x_4840 -> h_Cost x_4840
    5357 | Jmp x_4841 -> h_Jmp x_4841
    5358 | Jnz (x_4844, x_4843, x_4842) -> h_Jnz x_4844 x_4843 x_4842
    5359 | MovSuccessor (x_4847, x_4846, x_4845) ->
    5360   h_MovSuccessor x_4847 x_4846 x_4845
    5361 | Call x_4848 -> h_Call x_4848
    5362 | Mov (x_4850, x_4849) -> h_Mov x_4850 x_4849
     5536| Instruction x_23907 -> h_Instruction x_23907
     5537| Comment x_23908 -> h_Comment x_23908
     5538| Cost x_23909 -> h_Cost x_23909
     5539| Jmp x_23910 -> h_Jmp x_23910
     5540| Jnz (x_23913, x_23912, x_23911) -> h_Jnz x_23913 x_23912 x_23911
     5541| MovSuccessor (x_23916, x_23915, x_23914) ->
     5542  h_MovSuccessor x_23916 x_23915 x_23914
     5543| Call x_23917 -> h_Call x_23917
     5544| Mov (x_23919, x_23918) -> h_Mov x_23919 x_23918
    53635545
    53645546(** val pseudo_instruction_rect_Type1 :
     
    53705552    pseudo_instruction -> 'a1 **)
    53715553let rec pseudo_instruction_rect_Type1 h_Instruction h_Comment h_Cost h_Jmp h_Jnz h_MovSuccessor h_Call h_Mov = function
    5372 | Instruction x_4860 -> h_Instruction x_4860
    5373 | Comment x_4861 -> h_Comment x_4861
    5374 | Cost x_4862 -> h_Cost x_4862
    5375 | Jmp x_4863 -> h_Jmp x_4863
    5376 | Jnz (x_4866, x_4865, x_4864) -> h_Jnz x_4866 x_4865 x_4864
    5377 | MovSuccessor (x_4869, x_4868, x_4867) ->
    5378   h_MovSuccessor x_4869 x_4868 x_4867
    5379 | Call x_4870 -> h_Call x_4870
    5380 | Mov (x_4872, x_4871) -> h_Mov x_4872 x_4871
     5554| Instruction x_23929 -> h_Instruction x_23929
     5555| Comment x_23930 -> h_Comment x_23930
     5556| Cost x_23931 -> h_Cost x_23931
     5557| Jmp x_23932 -> h_Jmp x_23932
     5558| Jnz (x_23935, x_23934, x_23933) -> h_Jnz x_23935 x_23934 x_23933
     5559| MovSuccessor (x_23938, x_23937, x_23936) ->
     5560  h_MovSuccessor x_23938 x_23937 x_23936
     5561| Call x_23939 -> h_Call x_23939
     5562| Mov (x_23941, x_23940) -> h_Mov x_23941 x_23940
    53815563
    53825564(** val pseudo_instruction_rect_Type0 :
     
    53885570    pseudo_instruction -> 'a1 **)
    53895571let rec pseudo_instruction_rect_Type0 h_Instruction h_Comment h_Cost h_Jmp h_Jnz h_MovSuccessor h_Call h_Mov = function
    5390 | Instruction x_4882 -> h_Instruction x_4882
    5391 | Comment x_4883 -> h_Comment x_4883
    5392 | Cost x_4884 -> h_Cost x_4884
    5393 | Jmp x_4885 -> h_Jmp x_4885
    5394 | Jnz (x_4888, x_4887, x_4886) -> h_Jnz x_4888 x_4887 x_4886
    5395 | MovSuccessor (x_4891, x_4890, x_4889) ->
    5396   h_MovSuccessor x_4891 x_4890 x_4889
    5397 | Call x_4892 -> h_Call x_4892
    5398 | Mov (x_4894, x_4893) -> h_Mov x_4894 x_4893
     5572| Instruction x_23951 -> h_Instruction x_23951
     5573| Comment x_23952 -> h_Comment x_23952
     5574| Cost x_23953 -> h_Cost x_23953
     5575| Jmp x_23954 -> h_Jmp x_23954
     5576| Jnz (x_23957, x_23956, x_23955) -> h_Jnz x_23957 x_23956 x_23955
     5577| MovSuccessor (x_23960, x_23959, x_23958) ->
     5578  h_MovSuccessor x_23960 x_23959 x_23958
     5579| Call x_23961 -> h_Call x_23961
     5580| Mov (x_23963, x_23962) -> h_Mov x_23963 x_23962
    53995581
    54005582(** val pseudo_instruction_inv_rect_Type4 :
     
    55645746| Mov (x, x0) -> Bool.False
    55655747
    5566 let subaddressing_modeel__o__mk_subaddressing_mode x = assert false
  • extracted/aSM.mli

    r2717 r2743  
    383383  Nat.nat -> addressing_mode_tag Vector.vector -> subaddressing_mode
    384384  Types.sig0 -> addressing_mode
     385
     386type 'x1 dpi1__o__subaddressing_mode = subaddressing_mode
     387
     388type eject__o__subaddressing_mode = subaddressing_mode
     389
     390val dpi1__o__subaddressing_modeel__o__mk_subaddressing_mode__o__inject :
     391  Nat.nat -> Nat.nat -> addressing_mode_tag Vector.vector ->
     392  addressing_mode_tag Vector.vector -> (subaddressing_mode, 'a1) Types.dPair
     393  -> subaddressing_mode Types.sig0
     394
     395val dpi1__o__subaddressing_modeel__o__mk_subaddressing_mode__o__subaddressing_modeel__o__inject :
     396  Nat.nat -> Nat.nat -> addressing_mode_tag Vector.vector ->
     397  addressing_mode_tag Vector.vector -> (subaddressing_mode, 'a1) Types.dPair
     398  -> addressing_mode Types.sig0
     399
     400val dpi1__o__subaddressing_modeel__o__mk_subaddressing_mode__o__subaddressing_modeel :
     401  Nat.nat -> Nat.nat -> addressing_mode_tag Vector.vector ->
     402  addressing_mode_tag Vector.vector -> (subaddressing_mode, 'a1) Types.dPair
     403  -> addressing_mode
     404
     405val eject__o__subaddressing_modeel__o__mk_subaddressing_mode__o__inject :
     406  Nat.nat -> Nat.nat -> addressing_mode_tag Vector.vector ->
     407  addressing_mode_tag Vector.vector -> subaddressing_mode Types.sig0 ->
     408  subaddressing_mode Types.sig0
     409
     410val eject__o__subaddressing_modeel__o__mk_subaddressing_mode__o__subaddressing_modeel__o__inject :
     411  Nat.nat -> Nat.nat -> addressing_mode_tag Vector.vector ->
     412  addressing_mode_tag Vector.vector -> subaddressing_mode Types.sig0 ->
     413  addressing_mode Types.sig0
     414
     415val eject__o__subaddressing_modeel__o__mk_subaddressing_mode__o__subaddressing_modeel :
     416  Nat.nat -> Nat.nat -> addressing_mode_tag Vector.vector ->
     417  addressing_mode_tag Vector.vector -> subaddressing_mode Types.sig0 ->
     418  addressing_mode
     419
     420val subaddressing_modeel__o__mk_subaddressing_mode__o__inject :
     421  Nat.nat -> Nat.nat -> addressing_mode_tag Vector.vector ->
     422  addressing_mode_tag Vector.vector -> subaddressing_mode ->
     423  subaddressing_mode Types.sig0
     424
     425val subaddressing_modeel__o__mk_subaddressing_mode__o__subaddressing_modeel__o__inject :
     426  Nat.nat -> Nat.nat -> addressing_mode_tag Vector.vector ->
     427  addressing_mode_tag Vector.vector -> subaddressing_mode -> addressing_mode
     428  Types.sig0
     429
     430val subaddressing_modeel__o__mk_subaddressing_mode__o__subaddressing_modeel :
     431  Nat.nat -> Nat.nat -> addressing_mode_tag Vector.vector ->
     432  addressing_mode_tag Vector.vector -> subaddressing_mode -> addressing_mode
     433
     434val dpi1__o__mk_subaddressing_mode__o__inject :
     435  Nat.nat -> (addressing_mode, 'a1) Types.dPair -> addressing_mode_tag
     436  Vector.vector -> subaddressing_mode Types.sig0
     437
     438val dpi1__o__mk_subaddressing_mode__o__subaddressing_modeel__o__inject :
     439  Nat.nat -> (addressing_mode, 'a1) Types.dPair -> addressing_mode_tag
     440  Vector.vector -> addressing_mode Types.sig0
     441
     442val dpi1__o__mk_subaddressing_mode__o__subaddressing_modeel :
     443  Nat.nat -> (addressing_mode, 'a1) Types.dPair -> addressing_mode_tag
     444  Vector.vector -> addressing_mode
     445
     446val eject__o__mk_subaddressing_mode__o__inject :
     447  Nat.nat -> addressing_mode Types.sig0 -> addressing_mode_tag Vector.vector
     448  -> subaddressing_mode Types.sig0
     449
     450val eject__o__mk_subaddressing_mode__o__subaddressing_modeel__o__inject :
     451  Nat.nat -> addressing_mode Types.sig0 -> addressing_mode_tag Vector.vector
     452  -> addressing_mode Types.sig0
     453
     454val eject__o__mk_subaddressing_mode__o__subaddressing_modeel :
     455  Nat.nat -> addressing_mode Types.sig0 -> addressing_mode_tag Vector.vector
     456  -> addressing_mode
     457
     458val mk_subaddressing_mode__o__subaddressing_modeel :
     459  Nat.nat -> addressing_mode -> addressing_mode_tag Vector.vector ->
     460  addressing_mode
     461
     462val mk_subaddressing_mode__o__subaddressing_modeel__o__inject :
     463  Nat.nat -> addressing_mode -> addressing_mode_tag Vector.vector ->
     464  addressing_mode Types.sig0
     465
     466val mk_subaddressing_mode__o__inject :
     467  Nat.nat -> addressing_mode -> addressing_mode_tag Vector.vector ->
     468  subaddressing_mode Types.sig0
     469
     470val dpi1__o__subaddressing_modeel__o__mk_subaddressing_mode :
     471  Nat.nat -> Nat.nat -> addressing_mode_tag Vector.vector ->
     472  addressing_mode_tag Vector.vector -> (subaddressing_mode, 'a1) Types.dPair
     473  -> subaddressing_mode
     474
     475val eject__o__subaddressing_modeel__o__mk_subaddressing_mode :
     476  Nat.nat -> Nat.nat -> addressing_mode_tag Vector.vector ->
     477  addressing_mode_tag Vector.vector -> subaddressing_mode Types.sig0 ->
     478  subaddressing_mode
     479
     480val subaddressing_modeel__o__mk_subaddressing_mode :
     481  Nat.nat -> Nat.nat -> addressing_mode_tag Vector.vector ->
     482  addressing_mode_tag Vector.vector -> subaddressing_mode ->
     483  subaddressing_mode
     484
     485val dpi1__o__mk_subaddressing_mode :
     486  Nat.nat -> (addressing_mode, 'a1) Types.dPair -> addressing_mode_tag
     487  Vector.vector -> subaddressing_mode
     488
     489val eject__o__mk_subaddressing_mode :
     490  Nat.nat -> addressing_mode Types.sig0 -> addressing_mode_tag Vector.vector
     491  -> subaddressing_mode
    385492
    386493type subaddressing_mode_elim_type = __
     
    9311038val instruction_jmdiscr : instruction -> instruction -> __
    9321039
     1040val dpi1__o__RealInstruction__o__inject :
     1041  (subaddressing_mode preinstruction, 'a1) Types.dPair -> instruction
     1042  Types.sig0
     1043
     1044val eject__o__RealInstruction__o__inject :
     1045  subaddressing_mode preinstruction Types.sig0 -> instruction Types.sig0
     1046
     1047val realInstruction__o__inject :
     1048  subaddressing_mode preinstruction -> instruction Types.sig0
     1049
     1050val dpi1__o__RealInstruction :
     1051  (subaddressing_mode preinstruction, 'a1) Types.dPair -> instruction
     1052
     1053val eject__o__RealInstruction :
     1054  subaddressing_mode preinstruction Types.sig0 -> instruction
     1055
    9331056val eq_instruction : instruction -> instruction -> Bool.bool
    9341057
     
    10771200val is_call : pseudo_instruction -> Bool.bool
    10781201
    1079 val subaddressing_modeel__o__mk_subaddressing_mode:
    1080  Nat.nat -> Nat.nat -> addressing_mode_tag Vector.vector -> addressing_mode_tag Vector.vector -> addressing_mode -> addressing_mode
  • extracted/aSMCosts.ml

    r2730 r2743  
    187187   | Nat.S program_size' ->
    188188     (fun _ ->
    189        (let { Types.fst = eta25074; Types.snd = ticks } =
     189       (let { Types.fst = eta31746; Types.snd = ticks } =
    190190          Fetch.fetch code_memory' program_counter'
    191191        in
    192192       let { Types.fst = instruction0; Types.snd = program_counter'' } =
    193          eta25074
     193         eta31746
    194194       in
    195195       (fun _ ->
  • extracted/aST.ml

    r2730 r2743  
    418418    (intsize -> signedness -> 'a1) -> 'a1 -> typ -> 'a1 **)
    419419let rec typ_rect_Type4 h_ASTint h_ASTptr = function
    420 | ASTint (x_1295, x_1294) -> h_ASTint x_1295 x_1294
     420| ASTint (x_3506, x_3505) -> h_ASTint x_3506 x_3505
    421421| ASTptr -> h_ASTptr
    422422
     
    424424    (intsize -> signedness -> 'a1) -> 'a1 -> typ -> 'a1 **)
    425425let rec typ_rect_Type5 h_ASTint h_ASTptr = function
    426 | ASTint (x_1300, x_1299) -> h_ASTint x_1300 x_1299
     426| ASTint (x_3511, x_3510) -> h_ASTint x_3511 x_3510
    427427| ASTptr -> h_ASTptr
    428428
     
    430430    (intsize -> signedness -> 'a1) -> 'a1 -> typ -> 'a1 **)
    431431let rec typ_rect_Type3 h_ASTint h_ASTptr = function
    432 | ASTint (x_1305, x_1304) -> h_ASTint x_1305 x_1304
     432| ASTint (x_3516, x_3515) -> h_ASTint x_3516 x_3515
    433433| ASTptr -> h_ASTptr
    434434
     
    436436    (intsize -> signedness -> 'a1) -> 'a1 -> typ -> 'a1 **)
    437437let rec typ_rect_Type2 h_ASTint h_ASTptr = function
    438 | ASTint (x_1310, x_1309) -> h_ASTint x_1310 x_1309
     438| ASTint (x_3521, x_3520) -> h_ASTint x_3521 x_3520
    439439| ASTptr -> h_ASTptr
    440440
     
    442442    (intsize -> signedness -> 'a1) -> 'a1 -> typ -> 'a1 **)
    443443let rec typ_rect_Type1 h_ASTint h_ASTptr = function
    444 | ASTint (x_1315, x_1314) -> h_ASTint x_1315 x_1314
     444| ASTint (x_3526, x_3525) -> h_ASTint x_3526 x_3525
    445445| ASTptr -> h_ASTptr
    446446
     
    448448    (intsize -> signedness -> 'a1) -> 'a1 -> typ -> 'a1 **)
    449449let rec typ_rect_Type0 h_ASTint h_ASTptr = function
    450 | ASTint (x_1320, x_1319) -> h_ASTint x_1320 x_1319
     450| ASTint (x_3531, x_3530) -> h_ASTint x_3531 x_3530
    451451| ASTptr -> h_ASTptr
    452452
     
    877877(** val signature_rect_Type4 :
    878878    (typ List.list -> typ Types.option -> 'a1) -> signature -> 'a1 **)
    879 let rec signature_rect_Type4 h_mk_signature x_1355 =
    880   let { sig_args = sig_args0; sig_res = sig_res0 } = x_1355 in
     879let rec signature_rect_Type4 h_mk_signature x_3566 =
     880  let { sig_args = sig_args0; sig_res = sig_res0 } = x_3566 in
    881881  h_mk_signature sig_args0 sig_res0
    882882
    883883(** val signature_rect_Type5 :
    884884    (typ List.list -> typ Types.option -> 'a1) -> signature -> 'a1 **)
    885 let rec signature_rect_Type5 h_mk_signature x_1357 =
    886   let { sig_args = sig_args0; sig_res = sig_res0 } = x_1357 in
     885let rec signature_rect_Type5 h_mk_signature x_3568 =
     886  let { sig_args = sig_args0; sig_res = sig_res0 } = x_3568 in
    887887  h_mk_signature sig_args0 sig_res0
    888888
    889889(** val signature_rect_Type3 :
    890890    (typ List.list -> typ Types.option -> 'a1) -> signature -> 'a1 **)
    891 let rec signature_rect_Type3 h_mk_signature x_1359 =
    892   let { sig_args = sig_args0; sig_res = sig_res0 } = x_1359 in
     891let rec signature_rect_Type3 h_mk_signature x_3570 =
     892  let { sig_args = sig_args0; sig_res = sig_res0 } = x_3570 in
    893893  h_mk_signature sig_args0 sig_res0
    894894
    895895(** val signature_rect_Type2 :
    896896    (typ List.list -> typ Types.option -> 'a1) -> signature -> 'a1 **)
    897 let rec signature_rect_Type2 h_mk_signature x_1361 =
    898   let { sig_args = sig_args0; sig_res = sig_res0 } = x_1361 in
     897let rec signature_rect_Type2 h_mk_signature x_3572 =
     898  let { sig_args = sig_args0; sig_res = sig_res0 } = x_3572 in
    899899  h_mk_signature sig_args0 sig_res0
    900900
    901901(** val signature_rect_Type1 :
    902902    (typ List.list -> typ Types.option -> 'a1) -> signature -> 'a1 **)
    903 let rec signature_rect_Type1 h_mk_signature x_1363 =
    904   let { sig_args = sig_args0; sig_res = sig_res0 } = x_1363 in
     903let rec signature_rect_Type1 h_mk_signature x_3574 =
     904  let { sig_args = sig_args0; sig_res = sig_res0 } = x_3574 in
    905905  h_mk_signature sig_args0 sig_res0
    906906
    907907(** val signature_rect_Type0 :
    908908    (typ List.list -> typ Types.option -> 'a1) -> signature -> 'a1 **)
    909 let rec signature_rect_Type0 h_mk_signature x_1365 =
    910   let { sig_args = sig_args0; sig_res = sig_res0 } = x_1365 in
     909let rec signature_rect_Type0 h_mk_signature x_3576 =
     910  let { sig_args = sig_args0; sig_res = sig_res0 } = x_3576 in
    911911  h_mk_signature sig_args0 sig_res0
    912912
     
    984984    'a1 -> (ident -> Nat.nat -> 'a1) -> init_data -> 'a1 **)
    985985let rec init_data_rect_Type4 h_Init_int8 h_Init_int16 h_Init_int32 h_Init_space h_Init_null h_Init_addrof = function
    986 | Init_int8 x_1393 -> h_Init_int8 x_1393
    987 | Init_int16 x_1394 -> h_Init_int16 x_1394
    988 | Init_int32 x_1395 -> h_Init_int32 x_1395
    989 | Init_space x_1396 -> h_Init_space x_1396
     986| Init_int8 x_3604 -> h_Init_int8 x_3604
     987| Init_int16 x_3605 -> h_Init_int16 x_3605
     988| Init_int32 x_3606 -> h_Init_int32 x_3606
     989| Init_space x_3607 -> h_Init_space x_3607
    990990| Init_null -> h_Init_null
    991 | Init_addrof (x_1398, x_1397) -> h_Init_addrof x_1398 x_1397
     991| Init_addrof (x_3609, x_3608) -> h_Init_addrof x_3609 x_3608
    992992
    993993(** val init_data_rect_Type5 :
     
    995995    'a1 -> (ident -> Nat.nat -> 'a1) -> init_data -> 'a1 **)
    996996let rec init_data_rect_Type5 h_Init_int8 h_Init_int16 h_Init_int32 h_Init_space h_Init_null h_Init_addrof = function
    997 | Init_int8 x_1406 -> h_Init_int8 x_1406
    998 | Init_int16 x_1407 -> h_Init_int16 x_1407
    999 | Init_int32 x_1408 -> h_Init_int32 x_1408
    1000 | Init_space x_1409 -> h_Init_space x_1409
     997| Init_int8 x_3617 -> h_Init_int8 x_3617
     998| Init_int16 x_3618 -> h_Init_int16 x_3618
     999| Init_int32 x_3619 -> h_Init_int32 x_3619
     1000| Init_space x_3620 -> h_Init_space x_3620
    10011001| Init_null -> h_Init_null
    1002 | Init_addrof (x_1411, x_1410) -> h_Init_addrof x_1411 x_1410
     1002| Init_addrof (x_3622, x_3621) -> h_Init_addrof x_3622 x_3621
    10031003
    10041004(** val init_data_rect_Type3 :
     
    10061006    'a1 -> (ident -> Nat.nat -> 'a1) -> init_data -> 'a1 **)
    10071007let rec init_data_rect_Type3 h_Init_int8 h_Init_int16 h_Init_int32 h_Init_space h_Init_null h_Init_addrof = function
    1008 | Init_int8 x_1419 -> h_Init_int8 x_1419
    1009 | Init_int16 x_1420 -> h_Init_int16 x_1420
    1010 | Init_int32 x_1421 -> h_Init_int32 x_1421
    1011 | Init_space x_1422 -> h_Init_space x_1422
     1008| Init_int8 x_3630 -> h_Init_int8 x_3630
     1009| Init_int16 x_3631 -> h_Init_int16 x_3631
     1010| Init_int32 x_3632 -> h_Init_int32 x_3632
     1011| Init_space x_3633 -> h_Init_space x_3633
    10121012| Init_null -> h_Init_null
    1013 | Init_addrof (x_1424, x_1423) -> h_Init_addrof x_1424 x_1423
     1013| Init_addrof (x_3635, x_3634) -> h_Init_addrof x_3635 x_3634
    10141014
    10151015(** val init_data_rect_Type2 :
     
    10171017    'a1 -> (ident -> Nat.nat -> 'a1) -> init_data -> 'a1 **)
    10181018let rec init_data_rect_Type2 h_Init_int8 h_Init_int16 h_Init_int32 h_Init_space h_Init_null h_Init_addrof = function
    1019 | Init_int8 x_1432 -> h_Init_int8 x_1432
    1020 | Init_int16 x_1433 -> h_Init_int16 x_1433
    1021 | Init_int32 x_1434 -> h_Init_int32 x_1434
    1022 | Init_space x_1435 -> h_Init_space x_1435
     1019| Init_int8 x_3643 -> h_Init_int8 x_3643
     1020| Init_int16 x_3644 -> h_Init_int16 x_3644
     1021| Init_int32 x_3645 -> h_Init_int32 x_3645
     1022| Init_space x_3646 -> h_Init_space x_3646
    10231023| Init_null -> h_Init_null
    1024 | Init_addrof (x_1437, x_1436) -> h_Init_addrof x_1437 x_1436
     1024| Init_addrof (x_3648, x_3647) -> h_Init_addrof x_3648 x_3647
    10251025
    10261026(** val init_data_rect_Type1 :
     
    10281028    'a1 -> (ident -> Nat.nat -> 'a1) -> init_data -> 'a1 **)
    10291029let rec init_data_rect_Type1 h_Init_int8 h_Init_int16 h_Init_int32 h_Init_space h_Init_null h_Init_addrof = function
    1030 | Init_int8 x_1445 -> h_Init_int8 x_1445
    1031 | Init_int16 x_1446 -> h_Init_int16 x_1446
    1032 | Init_int32 x_1447 -> h_Init_int32 x_1447
    1033 | Init_space x_1448 -> h_Init_space x_1448
     1030| Init_int8 x_3656 -> h_Init_int8 x_3656
     1031| Init_int16 x_3657 -> h_Init_int16 x_3657
     1032| Init_int32 x_3658 -> h_Init_int32 x_3658
     1033| Init_space x_3659 -> h_Init_space x_3659
    10341034| Init_null -> h_Init_null
    1035 | Init_addrof (x_1450, x_1449) -> h_Init_addrof x_1450 x_1449
     1035| Init_addrof (x_3661, x_3660) -> h_Init_addrof x_3661 x_3660
    10361036
    10371037(** val init_data_rect_Type0 :
     
    10391039    'a1 -> (ident -> Nat.nat -> 'a1) -> init_data -> 'a1 **)
    10401040let rec init_data_rect_Type0 h_Init_int8 h_Init_int16 h_Init_int32 h_Init_space h_Init_null h_Init_addrof = function
    1041 | Init_int8 x_1458 -> h_Init_int8 x_1458
    1042 | Init_int16 x_1459 -> h_Init_int16 x_1459
    1043 | Init_int32 x_1460 -> h_Init_int32 x_1460
    1044 | Init_space x_1461 -> h_Init_space x_1461
     1041| Init_int8 x_3669 -> h_Init_int8 x_3669
     1042| Init_int16 x_3670 -> h_Init_int16 x_3670
     1043| Init_int32 x_3671 -> h_Init_int32 x_3671
     1044| Init_space x_3672 -> h_Init_space x_3672
    10451045| Init_null -> h_Init_null
    1046 | Init_addrof (x_1463, x_1462) -> h_Init_addrof x_1463 x_1462
     1046| Init_addrof (x_3674, x_3673) -> h_Init_addrof x_3674 x_3673
    10471047
    10481048(** val init_data_inv_rect_Type4 :
     
    11111111    (((ident, region) Types.prod, 'a2) Types.prod List.list -> (ident, 'a1)
    11121112    Types.prod List.list -> ident -> 'a3) -> ('a1, 'a2) program -> 'a3 **)
    1113 let rec program_rect_Type4 h_mk_program x_1550 =
     1113let rec program_rect_Type4 h_mk_program x_3761 =
    11141114  let { prog_vars = prog_vars0; prog_funct = prog_funct0; prog_main =
    1115     prog_main0 } = x_1550
     1115    prog_main0 } = x_3761
    11161116  in
    11171117  h_mk_program prog_vars0 prog_funct0 prog_main0
     
    11201120    (((ident, region) Types.prod, 'a2) Types.prod List.list -> (ident, 'a1)
    11211121    Types.prod List.list -> ident -> 'a3) -> ('a1, 'a2) program -> 'a3 **)
    1122 let rec program_rect_Type5 h_mk_program x_1552 =
     1122let rec program_rect_Type5 h_mk_program x_3763 =
    11231123  let { prog_vars = prog_vars0; prog_funct = prog_funct0; prog_main =
    1124     prog_main0 } = x_1552
     1124    prog_main0 } = x_3763
    11251125  in
    11261126  h_mk_program prog_vars0 prog_funct0 prog_main0
     
    11291129    (((ident, region) Types.prod, 'a2) Types.prod List.list -> (ident, 'a1)
    11301130    Types.prod List.list -> ident -> 'a3) -> ('a1, 'a2) program -> 'a3 **)
    1131 let rec program_rect_Type3 h_mk_program x_1554 =
     1131let rec program_rect_Type3 h_mk_program x_3765 =
    11321132  let { prog_vars = prog_vars0; prog_funct = prog_funct0; prog_main =
    1133     prog_main0 } = x_1554
     1133    prog_main0 } = x_3765
    11341134  in
    11351135  h_mk_program prog_vars0 prog_funct0 prog_main0
     
    11381138    (((ident, region) Types.prod, 'a2) Types.prod List.list -> (ident, 'a1)
    11391139    Types.prod List.list -> ident -> 'a3) -> ('a1, 'a2) program -> 'a3 **)
    1140 let rec program_rect_Type2 h_mk_program x_1556 =
     1140let rec program_rect_Type2 h_mk_program x_3767 =
    11411141  let { prog_vars = prog_vars0; prog_funct = prog_funct0; prog_main =
    1142     prog_main0 } = x_1556
     1142    prog_main0 } = x_3767
    11431143  in
    11441144  h_mk_program prog_vars0 prog_funct0 prog_main0
     
    11471147    (((ident, region) Types.prod, 'a2) Types.prod List.list -> (ident, 'a1)
    11481148    Types.prod List.list -> ident -> 'a3) -> ('a1, 'a2) program -> 'a3 **)
    1149 let rec program_rect_Type1 h_mk_program x_1558 =
     1149let rec program_rect_Type1 h_mk_program x_3769 =
    11501150  let { prog_vars = prog_vars0; prog_funct = prog_funct0; prog_main =
    1151     prog_main0 } = x_1558
     1151    prog_main0 } = x_3769
    11521152  in
    11531153  h_mk_program prog_vars0 prog_funct0 prog_main0
     
    11561156    (((ident, region) Types.prod, 'a2) Types.prod List.list -> (ident, 'a1)
    11571157    Types.prod List.list -> ident -> 'a3) -> ('a1, 'a2) program -> 'a3 **)
    1158 let rec program_rect_Type0 h_mk_program x_1560 =
     1158let rec program_rect_Type0 h_mk_program x_3771 =
    11591159  let { prog_vars = prog_vars0; prog_funct = prog_funct0; prog_main =
    1160     prog_main0 } = x_1560
     1160    prog_main0 } = x_3771
    11611161  in
    11621162  h_mk_program prog_vars0 prog_funct0 prog_main0
     
    14811481(** val external_function_rect_Type4 :
    14821482    (ident -> signature -> 'a1) -> external_function -> 'a1 **)
    1483 let rec external_function_rect_Type4 h_mk_external_function x_1764 =
    1484   let { ef_id = ef_id0; ef_sig = ef_sig0 } = x_1764 in
     1483let rec external_function_rect_Type4 h_mk_external_function x_3975 =
     1484  let { ef_id = ef_id0; ef_sig = ef_sig0 } = x_3975 in
    14851485  h_mk_external_function ef_id0 ef_sig0
    14861486
    14871487(** val external_function_rect_Type5 :
    14881488    (ident -> signature -> 'a1) -> external_function -> 'a1 **)
    1489 let rec external_function_rect_Type5 h_mk_external_function x_1766 =
    1490   let { ef_id = ef_id0; ef_sig = ef_sig0 } = x_1766 in
     1489let rec external_function_rect_Type5 h_mk_external_function x_3977 =
     1490  let { ef_id = ef_id0; ef_sig = ef_sig0 } = x_3977 in
    14911491  h_mk_external_function ef_id0 ef_sig0
    14921492
    14931493(** val external_function_rect_Type3 :
    14941494    (ident -> signature -> 'a1) -> external_function -> 'a1 **)
    1495 let rec external_function_rect_Type3 h_mk_external_function x_1768 =
    1496   let { ef_id = ef_id0; ef_sig = ef_sig0 } = x_1768 in
     1495let rec external_function_rect_Type3 h_mk_external_function x_3979 =
     1496  let { ef_id = ef_id0; ef_sig = ef_sig0 } = x_3979 in
    14971497  h_mk_external_function ef_id0 ef_sig0
    14981498
    14991499(** val external_function_rect_Type2 :
    15001500    (ident -> signature -> 'a1) -> external_function -> 'a1 **)
    1501 let rec external_function_rect_Type2 h_mk_external_function x_1770 =
    1502   let { ef_id = ef_id0; ef_sig = ef_sig0 } = x_1770 in
     1501let rec external_function_rect_Type2 h_mk_external_function x_3981 =
     1502  let { ef_id = ef_id0; ef_sig = ef_sig0 } = x_3981 in
    15031503  h_mk_external_function ef_id0 ef_sig0
    15041504
    15051505(** val external_function_rect_Type1 :
    15061506    (ident -> signature -> 'a1) -> external_function -> 'a1 **)
    1507 let rec external_function_rect_Type1 h_mk_external_function x_1772 =
    1508   let { ef_id = ef_id0; ef_sig = ef_sig0 } = x_1772 in
     1507let rec external_function_rect_Type1 h_mk_external_function x_3983 =
     1508  let { ef_id = ef_id0; ef_sig = ef_sig0 } = x_3983 in
    15091509  h_mk_external_function ef_id0 ef_sig0
    15101510
    15111511(** val external_function_rect_Type0 :
    15121512    (ident -> signature -> 'a1) -> external_function -> 'a1 **)
    1513 let rec external_function_rect_Type0 h_mk_external_function x_1774 =
    1514   let { ef_id = ef_id0; ef_sig = ef_sig0 } = x_1774 in
     1513let rec external_function_rect_Type0 h_mk_external_function x_3985 =
     1514  let { ef_id = ef_id0; ef_sig = ef_sig0 } = x_3985 in
    15151515  h_mk_external_function ef_id0 ef_sig0
    15161516
     
    15791579    ('a1 -> 'a2) -> (external_function -> 'a2) -> 'a1 fundef -> 'a2 **)
    15801580let rec fundef_rect_Type4 h_Internal h_External = function
    1581 | Internal x_1794 -> h_Internal x_1794
    1582 | External x_1795 -> h_External x_1795
     1581| Internal x_4005 -> h_Internal x_4005
     1582| External x_4006 -> h_External x_4006
    15831583
    15841584(** val fundef_rect_Type5 :
    15851585    ('a1 -> 'a2) -> (external_function -> 'a2) -> 'a1 fundef -> 'a2 **)
    15861586let rec fundef_rect_Type5 h_Internal h_External = function
    1587 | Internal x_1799 -> h_Internal x_1799
    1588 | External x_1800 -> h_External x_1800
     1587| Internal x_4010 -> h_Internal x_4010
     1588| External x_4011 -> h_External x_4011
    15891589
    15901590(** val fundef_rect_Type3 :
    15911591    ('a1 -> 'a2) -> (external_function -> 'a2) -> 'a1 fundef -> 'a2 **)
    15921592let rec fundef_rect_Type3 h_Internal h_External = function
    1593 | Internal x_1804 -> h_Internal x_1804
    1594 | External x_1805 -> h_External x_1805
     1593| Internal x_4015 -> h_Internal x_4015
     1594| External x_4016 -> h_External x_4016
    15951595
    15961596(** val fundef_rect_Type2 :
    15971597    ('a1 -> 'a2) -> (external_function -> 'a2) -> 'a1 fundef -> 'a2 **)
    15981598let rec fundef_rect_Type2 h_Internal h_External = function
    1599 | Internal x_1809 -> h_Internal x_1809
    1600 | External x_1810 -> h_External x_1810
     1599| Internal x_4020 -> h_Internal x_4020
     1600| External x_4021 -> h_External x_4021
    16011601
    16021602(** val fundef_rect_Type1 :
    16031603    ('a1 -> 'a2) -> (external_function -> 'a2) -> 'a1 fundef -> 'a2 **)
    16041604let rec fundef_rect_Type1 h_Internal h_External = function
    1605 | Internal x_1814 -> h_Internal x_1814
    1606 | External x_1815 -> h_External x_1815
     1605| Internal x_4025 -> h_Internal x_4025
     1606| External x_4026 -> h_External x_4026
    16071607
    16081608(** val fundef_rect_Type0 :
    16091609    ('a1 -> 'a2) -> (external_function -> 'a2) -> 'a1 fundef -> 'a2 **)
    16101610let rec fundef_rect_Type0 h_Internal h_External = function
    1611 | Internal x_1819 -> h_Internal x_1819
    1612 | External x_1820 -> h_External x_1820
     1611| Internal x_4030 -> h_Internal x_4030
     1612| External x_4031 -> h_External x_4031
    16131613
    16141614(** val fundef_inv_rect_Type4 :
  • extracted/backEndOps.ml

    r2730 r2743  
    402402    -> (BitVector.bit -> op2 -> BitVector.byte -> BitVector.byte ->
    403403    (BitVector.byte, BitVector.bit) Types.prod) -> 'a1) -> eval -> 'a1 **)
    404 let rec eval_rect_Type4 h_mk_Eval x_6259 =
    405   let { opaccs = opaccs0; op0 = op4; op3 = op5 } = x_6259 in
     404let rec eval_rect_Type4 h_mk_Eval x_18831 =
     405  let { opaccs = opaccs0; op0 = op4; op3 = op5 } = x_18831 in
    406406  h_mk_Eval opaccs0 op4 op5
    407407
     
    411411    -> (BitVector.bit -> op2 -> BitVector.byte -> BitVector.byte ->
    412412    (BitVector.byte, BitVector.bit) Types.prod) -> 'a1) -> eval -> 'a1 **)
    413 let rec eval_rect_Type5 h_mk_Eval x_6261 =
    414   let { opaccs = opaccs0; op0 = op4; op3 = op5 } = x_6261 in
     413let rec eval_rect_Type5 h_mk_Eval x_18833 =
     414  let { opaccs = opaccs0; op0 = op4; op3 = op5 } = x_18833 in
    415415  h_mk_Eval opaccs0 op4 op5
    416416
     
    420420    -> (BitVector.bit -> op2 -> BitVector.byte -> BitVector.byte ->
    421421    (BitVector.byte, BitVector.bit) Types.prod) -> 'a1) -> eval -> 'a1 **)
    422 let rec eval_rect_Type3 h_mk_Eval x_6263 =
    423   let { opaccs = opaccs0; op0 = op4; op3 = op5 } = x_6263 in
     422let rec eval_rect_Type3 h_mk_Eval x_18835 =
     423  let { opaccs = opaccs0; op0 = op4; op3 = op5 } = x_18835 in
    424424  h_mk_Eval opaccs0 op4 op5
    425425
     
    429429    -> (BitVector.bit -> op2 -> BitVector.byte -> BitVector.byte ->
    430430    (BitVector.byte, BitVector.bit) Types.prod) -> 'a1) -> eval -> 'a1 **)
    431 let rec eval_rect_Type2 h_mk_Eval x_6265 =
    432   let { opaccs = opaccs0; op0 = op4; op3 = op5 } = x_6265 in
     431let rec eval_rect_Type2 h_mk_Eval x_18837 =
     432  let { opaccs = opaccs0; op0 = op4; op3 = op5 } = x_18837 in
    433433  h_mk_Eval opaccs0 op4 op5
    434434
     
    438438    -> (BitVector.bit -> op2 -> BitVector.byte -> BitVector.byte ->
    439439    (BitVector.byte, BitVector.bit) Types.prod) -> 'a1) -> eval -> 'a1 **)
    440 let rec eval_rect_Type1 h_mk_Eval x_6267 =
    441   let { opaccs = opaccs0; op0 = op4; op3 = op5 } = x_6267 in
     440let rec eval_rect_Type1 h_mk_Eval x_18839 =
     441  let { opaccs = opaccs0; op0 = op4; op3 = op5 } = x_18839 in
    442442  h_mk_Eval opaccs0 op4 op5
    443443
     
    447447    -> (BitVector.bit -> op2 -> BitVector.byte -> BitVector.byte ->
    448448    (BitVector.byte, BitVector.bit) Types.prod) -> 'a1) -> eval -> 'a1 **)
    449 let rec eval_rect_Type0 h_mk_Eval x_6269 =
    450   let { opaccs = opaccs0; op0 = op4; op3 = op5 } = x_6269 in
     449let rec eval_rect_Type0 h_mk_Eval x_18841 =
     450  let { opaccs = opaccs0; op0 = op4; op3 = op5 } = x_18841 in
    451451  h_mk_Eval opaccs0 op4 op5
    452452
  • extracted/bindLists.ml

    r2717 r2743  
    3333type ('b, 'e) bind_list = ('b, 'e List.list) Bind_new.bind_new
    3434
     35(** val dpi1__o__blist_from_list__o__inject :
     36    ('a2 List.list, 'a3) Types.dPair -> ('a1, 'a2 List.list)
     37    Bind_new.bind_new Types.sig0 **)
     38let dpi1__o__blist_from_list__o__inject x4 =
     39  Bind_new.Bret x4.Types.dpi1
     40
     41(** val eject__o__blist_from_list__o__inject :
     42    'a2 List.list Types.sig0 -> ('a1, 'a2 List.list) Bind_new.bind_new
     43    Types.sig0 **)
     44let eject__o__blist_from_list__o__inject x4 =
     45  Bind_new.Bret (Types.pi1 x4)
     46
     47(** val blist_from_list__o__inject :
     48    'a2 List.list -> ('a1, 'a2 List.list) Bind_new.bind_new Types.sig0 **)
     49let blist_from_list__o__inject x3 =
     50  Bind_new.Bret x3
     51
     52(** val dpi1__o__blist_from_list :
     53    ('a2 List.list, 'a3) Types.dPair -> ('a1, 'a2 List.list)
     54    Bind_new.bind_new **)
     55let dpi1__o__blist_from_list x3 =
     56  let l = x3.Types.dpi1 in Bind_new.Bret l
     57
     58(** val eject__o__blist_from_list :
     59    'a2 List.list Types.sig0 -> ('a1, 'a2 List.list) Bind_new.bind_new **)
     60let eject__o__blist_from_list x3 =
     61  let l = Types.pi1 x3 in Bind_new.Bret l
     62
    3563(** val bappend :
    3664    ('a1, 'a2) bind_list -> ('a1, 'a2) bind_list -> ('a1, 'a2) bind_list **)
  • extracted/bindLists.mli

    r2717 r2743  
    3333type ('b, 'e) bind_list = ('b, 'e List.list) Bind_new.bind_new
    3434
     35val dpi1__o__blist_from_list__o__inject :
     36  ('a2 List.list, 'a3) Types.dPair -> ('a1, 'a2 List.list) Bind_new.bind_new
     37  Types.sig0
     38
     39val eject__o__blist_from_list__o__inject :
     40  'a2 List.list Types.sig0 -> ('a1, 'a2 List.list) Bind_new.bind_new
     41  Types.sig0
     42
     43val blist_from_list__o__inject :
     44  'a2 List.list -> ('a1, 'a2 List.list) Bind_new.bind_new Types.sig0
     45
     46val dpi1__o__blist_from_list :
     47  ('a2 List.list, 'a3) Types.dPair -> ('a1, 'a2 List.list) Bind_new.bind_new
     48
     49val eject__o__blist_from_list :
     50  'a2 List.list Types.sig0 -> ('a1, 'a2 List.list) Bind_new.bind_new
     51
    3552val bappend :
    3653  ('a1, 'a2) bind_list -> ('a1, 'a2) bind_list -> ('a1, 'a2) bind_list
  • extracted/bind_new.ml

    r2717 r2743  
    3535    ('a1, 'a2) bind_new -> 'a3 **)
    3636let rec bind_new_rect_Type4 h_bret h_bnew = function
    37 | Bret x_17542 -> h_bret x_17542
    38 | Bnew x_17544 ->
    39   h_bnew x_17544 (fun x_17543 ->
    40     bind_new_rect_Type4 h_bret h_bnew (x_17544 x_17543))
     37| Bret x_20622 -> h_bret x_20622
     38| Bnew x_20624 ->
     39  h_bnew x_20624 (fun x_20623 ->
     40    bind_new_rect_Type4 h_bret h_bnew (x_20624 x_20623))
    4141
    4242(** val bind_new_rect_Type3 :
     
    4444    ('a1, 'a2) bind_new -> 'a3 **)
    4545let rec bind_new_rect_Type3 h_bret h_bnew = function
    46 | Bret x_17554 -> h_bret x_17554
    47 | Bnew x_17556 ->
    48   h_bnew x_17556 (fun x_17555 ->
    49     bind_new_rect_Type3 h_bret h_bnew (x_17556 x_17555))
     46| Bret x_20634 -> h_bret x_20634
     47| Bnew x_20636 ->
     48  h_bnew x_20636 (fun x_20635 ->
     49    bind_new_rect_Type3 h_bret h_bnew (x_20636 x_20635))
    5050
    5151(** val bind_new_rect_Type2 :
     
    5353    ('a1, 'a2) bind_new -> 'a3 **)
    5454let rec bind_new_rect_Type2 h_bret h_bnew = function
    55 | Bret x_17560 -> h_bret x_17560
    56 | Bnew x_17562 ->
    57   h_bnew x_17562 (fun x_17561 ->
    58     bind_new_rect_Type2 h_bret h_bnew (x_17562 x_17561))
     55| Bret x_20640 -> h_bret x_20640
     56| Bnew x_20642 ->
     57  h_bnew x_20642 (fun x_20641 ->
     58    bind_new_rect_Type2 h_bret h_bnew (x_20642 x_20641))
    5959
    6060(** val bind_new_rect_Type1 :
     
    6262    ('a1, 'a2) bind_new -> 'a3 **)
    6363let rec bind_new_rect_Type1 h_bret h_bnew = function
    64 | Bret x_17566 -> h_bret x_17566
    65 | Bnew x_17568 ->
    66   h_bnew x_17568 (fun x_17567 ->
    67     bind_new_rect_Type1 h_bret h_bnew (x_17568 x_17567))
     64| Bret x_20646 -> h_bret x_20646
     65| Bnew x_20648 ->
     66  h_bnew x_20648 (fun x_20647 ->
     67    bind_new_rect_Type1 h_bret h_bnew (x_20648 x_20647))
    6868
    6969(** val bind_new_rect_Type0 :
     
    7171    ('a1, 'a2) bind_new -> 'a3 **)
    7272let rec bind_new_rect_Type0 h_bret h_bnew = function
    73 | Bret x_17572 -> h_bret x_17572
    74 | Bnew x_17574 ->
    75   h_bnew x_17574 (fun x_17573 ->
    76     bind_new_rect_Type0 h_bret h_bnew (x_17574 x_17573))
     73| Bret x_20652 -> h_bret x_20652
     74| Bnew x_20654 ->
     75  h_bnew x_20654 (fun x_20653 ->
     76    bind_new_rect_Type0 h_bret h_bnew (x_20654 x_20653))
    7777
    7878(** val bind_new_inv_rect_Type4 :
  • extracted/bitVectorTrie.ml

    r2717 r2743  
    4343    ('a1 -> 'a2) -> (Nat.nat -> 'a1 bitVectorTrie -> 'a1 bitVectorTrie -> 'a2
    4444    -> 'a2 -> 'a2) -> (Nat.nat -> 'a2) -> Nat.nat -> 'a1 bitVectorTrie -> 'a2 **)
    45 let rec bitVectorTrie_rect_Type4 h_Leaf h_Node h_Stub x_4046 = function
    46 | Leaf x_4048 -> h_Leaf x_4048
    47 | Node (n, x_4050, x_4049) ->
    48   h_Node n x_4050 x_4049
    49     (bitVectorTrie_rect_Type4 h_Leaf h_Node h_Stub n x_4050)
    50     (bitVectorTrie_rect_Type4 h_Leaf h_Node h_Stub n x_4049)
     45let rec bitVectorTrie_rect_Type4 h_Leaf h_Node h_Stub x_4072 = function
     46| Leaf x_4074 -> h_Leaf x_4074
     47| Node (n, x_4076, x_4075) ->
     48  h_Node n x_4076 x_4075
     49    (bitVectorTrie_rect_Type4 h_Leaf h_Node h_Stub n x_4076)
     50    (bitVectorTrie_rect_Type4 h_Leaf h_Node h_Stub n x_4075)
    5151| Stub n -> h_Stub n
    5252
     
    5454    ('a1 -> 'a2) -> (Nat.nat -> 'a1 bitVectorTrie -> 'a1 bitVectorTrie -> 'a2
    5555    -> 'a2 -> 'a2) -> (Nat.nat -> 'a2) -> Nat.nat -> 'a1 bitVectorTrie -> 'a2 **)
    56 let rec bitVectorTrie_rect_Type3 h_Leaf h_Node h_Stub x_4062 = function
    57 | Leaf x_4064 -> h_Leaf x_4064
    58 | Node (n, x_4066, x_4065) ->
    59   h_Node n x_4066 x_4065
    60     (bitVectorTrie_rect_Type3 h_Leaf h_Node h_Stub n x_4066)
    61     (bitVectorTrie_rect_Type3 h_Leaf h_Node h_Stub n x_4065)
     56let rec bitVectorTrie_rect_Type3 h_Leaf h_Node h_Stub x_4088 = function
     57| Leaf x_4090 -> h_Leaf x_4090
     58| Node (n, x_4092, x_4091) ->
     59  h_Node n x_4092 x_4091
     60    (bitVectorTrie_rect_Type3 h_Leaf h_Node h_Stub n x_4092)
     61    (bitVectorTrie_rect_Type3 h_Leaf h_Node h_Stub n x_4091)
    6262| Stub n -> h_Stub n
    6363
     
    6565    ('a1 -> 'a2) -> (Nat.nat -> 'a1 bitVectorTrie -> 'a1 bitVectorTrie -> 'a2
    6666    -> 'a2 -> 'a2) -> (Nat.nat -> 'a2) -> Nat.nat -> 'a1 bitVectorTrie -> 'a2 **)
    67 let rec bitVectorTrie_rect_Type2 h_Leaf h_Node h_Stub x_4070 = function
    68 | Leaf x_4072 -> h_Leaf x_4072
    69 | Node (n, x_4074, x_4073) ->
    70   h_Node n x_4074 x_4073
    71     (bitVectorTrie_rect_Type2 h_Leaf h_Node h_Stub n x_4074)
    72     (bitVectorTrie_rect_Type2 h_Leaf h_Node h_Stub n x_4073)
     67let rec bitVectorTrie_rect_Type2 h_Leaf h_Node h_Stub x_4096 = function
     68| Leaf x_4098 -> h_Leaf x_4098
     69| Node (n, x_4100, x_4099) ->
     70  h_Node n x_4100 x_4099
     71    (bitVectorTrie_rect_Type2 h_Leaf h_Node h_Stub n x_4100)
     72    (bitVectorTrie_rect_Type2 h_Leaf h_Node h_Stub n x_4099)
    7373| Stub n -> h_Stub n
    7474
     
    7676    ('a1 -> 'a2) -> (Nat.nat -> 'a1 bitVectorTrie -> 'a1 bitVectorTrie -> 'a2
    7777    -> 'a2 -> 'a2) -> (Nat.nat -> 'a2) -> Nat.nat -> 'a1 bitVectorTrie -> 'a2 **)
    78 let rec bitVectorTrie_rect_Type1 h_Leaf h_Node h_Stub x_4078 = function
    79 | Leaf x_4080 -> h_Leaf x_4080
    80 | Node (n, x_4082, x_4081) ->
    81   h_Node n x_4082 x_4081
    82     (bitVectorTrie_rect_Type1 h_Leaf h_Node h_Stub n x_4082)
    83     (bitVectorTrie_rect_Type1 h_Leaf h_Node h_Stub n x_4081)
     78let rec bitVectorTrie_rect_Type1 h_Leaf h_Node h_Stub x_4104 = function
     79| Leaf x_4106 -> h_Leaf x_4106
     80| Node (n, x_4108, x_4107) ->
     81  h_Node n x_4108 x_4107
     82    (bitVectorTrie_rect_Type1 h_Leaf h_Node h_Stub n x_4108)
     83    (bitVectorTrie_rect_Type1 h_Leaf h_Node h_Stub n x_4107)
    8484| Stub n -> h_Stub n
    8585
     
    8787    ('a1 -> 'a2) -> (Nat.nat -> 'a1 bitVectorTrie -> 'a1 bitVectorTrie -> 'a2
    8888    -> 'a2 -> 'a2) -> (Nat.nat -> 'a2) -> Nat.nat -> 'a1 bitVectorTrie -> 'a2 **)
    89 let rec bitVectorTrie_rect_Type0 h_Leaf h_Node h_Stub x_4086 = function
    90 | Leaf x_4088 -> h_Leaf x_4088
    91 | Node (n, x_4090, x_4089) ->
    92   h_Node n x_4090 x_4089
    93     (bitVectorTrie_rect_Type0 h_Leaf h_Node h_Stub n x_4090)
    94     (bitVectorTrie_rect_Type0 h_Leaf h_Node h_Stub n x_4089)
     89let rec bitVectorTrie_rect_Type0 h_Leaf h_Node h_Stub x_4112 = function
     90| Leaf x_4114 -> h_Leaf x_4114
     91| Node (n, x_4116, x_4115) ->
     92  h_Node n x_4116 x_4115
     93    (bitVectorTrie_rect_Type0 h_Leaf h_Node h_Stub n x_4116)
     94    (bitVectorTrie_rect_Type0 h_Leaf h_Node h_Stub n x_4115)
    9595| Stub n -> h_Stub n
    9696
  • extracted/blocks.ml

    r2717 r2743  
    111111open BindLists
    112112
    113 type bind_new_P = __
     113type ('x, 'x0) bind_new_P = __
    114114
    115115(** val bindNewP : Monad.monadPred **)
     
    164164  List.map (fun f -> f x) l
    165165
    166 type bind_new_instantiates = __
     166type ('x, 'x0) bind_new_instantiates = __
    167167
  • extracted/blocks.mli

    r2717 r2743  
    111111open BindLists
    112112
    113 type bind_new_P = __
     113type ('x, 'x0) bind_new_P = __
    114114
    115115val bindNewP : Monad.monadPred
     
    141141val map_eval : ('a1 -> 'a2) List.list -> 'a1 -> 'a2 List.list
    142142
    143 type bind_new_instantiates = __
     143type ('a,'b) bind_new_instantiates = __
    144144
  • extracted/byteValues.ml

    r2730 r2743  
    8989    (Pointers.block Types.sig0 -> Positive.pos -> 'a1) -> program_counter ->
    9090    'a1 **)
    91 let rec program_counter_rect_Type4 h_mk_program_counter x_5700 =
    92   let { pc_block = pc_block0; pc_offset = pc_offset0 } = x_5700 in
     91let rec program_counter_rect_Type4 h_mk_program_counter x_6100 =
     92  let { pc_block = pc_block0; pc_offset = pc_offset0 } = x_6100 in
    9393  h_mk_program_counter pc_block0 pc_offset0
    9494
     
    9696    (Pointers.block Types.sig0 -> Positive.pos -> 'a1) -> program_counter ->
    9797    'a1 **)
    98 let rec program_counter_rect_Type5 h_mk_program_counter x_5702 =
    99   let { pc_block = pc_block0; pc_offset = pc_offset0 } = x_5702 in
     98let rec program_counter_rect_Type5 h_mk_program_counter x_6102 =
     99  let { pc_block = pc_block0; pc_offset = pc_offset0 } = x_6102 in
    100100  h_mk_program_counter pc_block0 pc_offset0
    101101
     
    103103    (Pointers.block Types.sig0 -> Positive.pos -> 'a1) -> program_counter ->
    104104    'a1 **)
    105 let rec program_counter_rect_Type3 h_mk_program_counter x_5704 =
    106   let { pc_block = pc_block0; pc_offset = pc_offset0 } = x_5704 in
     105let rec program_counter_rect_Type3 h_mk_program_counter x_6104 =
     106  let { pc_block = pc_block0; pc_offset = pc_offset0 } = x_6104 in
    107107  h_mk_program_counter pc_block0 pc_offset0
    108108
     
    110110    (Pointers.block Types.sig0 -> Positive.pos -> 'a1) -> program_counter ->
    111111    'a1 **)
    112 let rec program_counter_rect_Type2 h_mk_program_counter x_5706 =
    113   let { pc_block = pc_block0; pc_offset = pc_offset0 } = x_5706 in
     112let rec program_counter_rect_Type2 h_mk_program_counter x_6106 =
     113  let { pc_block = pc_block0; pc_offset = pc_offset0 } = x_6106 in
    114114  h_mk_program_counter pc_block0 pc_offset0
    115115
     
    117117    (Pointers.block Types.sig0 -> Positive.pos -> 'a1) -> program_counter ->
    118118    'a1 **)
    119 let rec program_counter_rect_Type1 h_mk_program_counter x_5708 =
    120   let { pc_block = pc_block0; pc_offset = pc_offset0 } = x_5708 in
     119let rec program_counter_rect_Type1 h_mk_program_counter x_6108 =
     120  let { pc_block = pc_block0; pc_offset = pc_offset0 } = x_6108 in
    121121  h_mk_program_counter pc_block0 pc_offset0
    122122
     
    124124    (Pointers.block Types.sig0 -> Positive.pos -> 'a1) -> program_counter ->
    125125    'a1 **)
    126 let rec program_counter_rect_Type0 h_mk_program_counter x_5710 =
    127   let { pc_block = pc_block0; pc_offset = pc_offset0 } = x_5710 in
     126let rec program_counter_rect_Type0 h_mk_program_counter x_6110 =
     127  let { pc_block = pc_block0; pc_offset = pc_offset0 } = x_6110 in
    128128  h_mk_program_counter pc_block0 pc_offset0
    129129
     
    215215
    216216(** val part_rect_Type4 : (Nat.nat -> __ -> 'a1) -> part -> 'a1 **)
    217 let rec part_rect_Type4 h_mk_part x_5726 =
    218   let part_no = x_5726 in h_mk_part part_no __
     217let rec part_rect_Type4 h_mk_part x_6126 =
     218  let part_no = x_6126 in h_mk_part part_no __
    219219
    220220(** val part_rect_Type5 : (Nat.nat -> __ -> 'a1) -> part -> 'a1 **)
    221 let rec part_rect_Type5 h_mk_part x_5728 =
    222   let part_no = x_5728 in h_mk_part part_no __
     221let rec part_rect_Type5 h_mk_part x_6128 =
     222  let part_no = x_6128 in h_mk_part part_no __
    223223
    224224(** val part_rect_Type3 : (Nat.nat -> __ -> 'a1) -> part -> 'a1 **)
    225 let rec part_rect_Type3 h_mk_part x_5730 =
    226   let part_no = x_5730 in h_mk_part part_no __
     225let rec part_rect_Type3 h_mk_part x_6130 =
     226  let part_no = x_6130 in h_mk_part part_no __
    227227
    228228(** val part_rect_Type2 : (Nat.nat -> __ -> 'a1) -> part -> 'a1 **)
    229 let rec part_rect_Type2 h_mk_part x_5732 =
    230   let part_no = x_5732 in h_mk_part part_no __
     229let rec part_rect_Type2 h_mk_part x_6132 =
     230  let part_no = x_6132 in h_mk_part part_no __
    231231
    232232(** val part_rect_Type1 : (Nat.nat -> __ -> 'a1) -> part -> 'a1 **)
    233 let rec part_rect_Type1 h_mk_part x_5734 =
    234   let part_no = x_5734 in h_mk_part part_no __
     233let rec part_rect_Type1 h_mk_part x_6134 =
     234  let part_no = x_6134 in h_mk_part part_no __
    235235
    236236(** val part_rect_Type0 : (Nat.nat -> __ -> 'a1) -> part -> 'a1 **)
    237 let rec part_rect_Type0 h_mk_part x_5736 =
    238   let part_no = x_5736 in h_mk_part part_no __
     237let rec part_rect_Type0 h_mk_part x_6136 =
     238  let part_no = x_6136 in h_mk_part part_no __
    239239
    240240(** val part_no : part -> Nat.nat **)
     
    307307let part_from_sig n_sig =
    308308  Types.pi1 n_sig
     309
     310(** val dpi1__o__part_no__o__inject__o__sig_to_part__o__inject :
     311    (part, 'a1) Types.dPair -> part Types.sig0 **)
     312let dpi1__o__part_no__o__inject__o__sig_to_part__o__inject x2 =
     313  part_from_sig (dpi1__o__part_no__o__inject x2)
     314
     315(** val dpi1__o__part_no__o__inject__o__sig_to_part__o__part_no__o__inject :
     316    (part, 'a1) Types.dPair -> Nat.nat Types.sig0 **)
     317let dpi1__o__part_no__o__inject__o__sig_to_part__o__part_no__o__inject x2 =
     318  part_no__o__inject (part_from_sig (dpi1__o__part_no__o__inject x2))
     319
     320(** val dpi1__o__part_no__o__inject__o__sig_to_part__o__part_no__o__Z_of_nat :
     321    (part, 'a1) Types.dPair -> Z.z **)
     322let dpi1__o__part_no__o__inject__o__sig_to_part__o__part_no__o__Z_of_nat x1 =
     323  part_no__o__Z_of_nat (part_from_sig (dpi1__o__part_no__o__inject x1))
     324
     325(** val dpi1__o__part_no__o__inject__o__sig_to_part__o__part_no :
     326    (part, 'a1) Types.dPair -> Nat.nat **)
     327let dpi1__o__part_no__o__inject__o__sig_to_part__o__part_no x1 =
     328  part_no (part_from_sig (dpi1__o__part_no__o__inject x1))
     329
     330(** val eject__o__part_no__o__inject__o__sig_to_part__o__inject :
     331    part Types.sig0 -> part Types.sig0 **)
     332let eject__o__part_no__o__inject__o__sig_to_part__o__inject x2 =
     333  part_from_sig (eject__o__part_no__o__inject x2)
     334
     335(** val eject__o__part_no__o__inject__o__sig_to_part__o__part_no__o__inject :
     336    part Types.sig0 -> Nat.nat Types.sig0 **)
     337let eject__o__part_no__o__inject__o__sig_to_part__o__part_no__o__inject x2 =
     338  part_no__o__inject (part_from_sig (eject__o__part_no__o__inject x2))
     339
     340(** val eject__o__part_no__o__inject__o__sig_to_part__o__part_no__o__Z_of_nat :
     341    part Types.sig0 -> Z.z **)
     342let eject__o__part_no__o__inject__o__sig_to_part__o__part_no__o__Z_of_nat x1 =
     343  part_no__o__Z_of_nat (part_from_sig (eject__o__part_no__o__inject x1))
     344
     345(** val eject__o__part_no__o__inject__o__sig_to_part__o__part_no :
     346    part Types.sig0 -> Nat.nat **)
     347let eject__o__part_no__o__inject__o__sig_to_part__o__part_no x1 =
     348  part_no (part_from_sig (eject__o__part_no__o__inject x1))
     349
     350(** val inject__o__sig_to_part__o__inject : Nat.nat -> part Types.sig0 **)
     351let inject__o__sig_to_part__o__inject x0 =
     352  part_from_sig x0
     353
     354(** val inject__o__sig_to_part__o__part_no__o__inject :
     355    Nat.nat -> Nat.nat Types.sig0 **)
     356let inject__o__sig_to_part__o__part_no__o__inject x0 =
     357  part_no__o__inject (part_from_sig x0)
     358
     359(** val inject__o__sig_to_part__o__part_no__o__Z_of_nat : Nat.nat -> Z.z **)
     360let inject__o__sig_to_part__o__part_no__o__Z_of_nat x0 =
     361  part_no__o__Z_of_nat (part_from_sig x0)
     362
     363(** val inject__o__sig_to_part__o__part_no : Nat.nat -> Nat.nat **)
     364let inject__o__sig_to_part__o__part_no x0 =
     365  part_no (part_from_sig x0)
     366
     367(** val part_no__o__inject__o__sig_to_part__o__inject :
     368    part -> part Types.sig0 **)
     369let part_no__o__inject__o__sig_to_part__o__inject x0 =
     370  part_from_sig (part_no__o__inject x0)
     371
     372(** val part_no__o__inject__o__sig_to_part__o__part_no__o__inject :
     373    part -> Nat.nat Types.sig0 **)
     374let part_no__o__inject__o__sig_to_part__o__part_no__o__inject x0 =
     375  part_no__o__inject (part_from_sig (part_no__o__inject x0))
     376
     377(** val part_no__o__inject__o__sig_to_part__o__part_no__o__Z_of_nat :
     378    part -> Z.z **)
     379let part_no__o__inject__o__sig_to_part__o__part_no__o__Z_of_nat x0 =
     380  part_no__o__Z_of_nat (part_from_sig (part_no__o__inject x0))
     381
     382(** val part_no__o__inject__o__sig_to_part__o__part_no : part -> Nat.nat **)
     383let part_no__o__inject__o__sig_to_part__o__part_no x0 =
     384  part_no (part_from_sig (part_no__o__inject x0))
     385
     386(** val dpi1__o__sig_to_part__o__inject :
     387    (Nat.nat Types.sig0, 'a1) Types.dPair -> part Types.sig0 **)
     388let dpi1__o__sig_to_part__o__inject x2 =
     389  part_from_sig x2.Types.dpi1
     390
     391(** val dpi1__o__sig_to_part__o__part_no__o__inject :
     392    (Nat.nat Types.sig0, 'a1) Types.dPair -> Nat.nat Types.sig0 **)
     393let dpi1__o__sig_to_part__o__part_no__o__inject x2 =
     394  part_no__o__inject (part_from_sig x2.Types.dpi1)
     395
     396(** val dpi1__o__sig_to_part__o__part_no__o__Z_of_nat :
     397    (Nat.nat Types.sig0, 'a1) Types.dPair -> Z.z **)
     398let dpi1__o__sig_to_part__o__part_no__o__Z_of_nat x1 =
     399  part_no__o__Z_of_nat (part_from_sig x1.Types.dpi1)
     400
     401(** val dpi1__o__sig_to_part__o__part_no :
     402    (Nat.nat Types.sig0, 'a1) Types.dPair -> Nat.nat **)
     403let dpi1__o__sig_to_part__o__part_no x1 =
     404  part_no (part_from_sig x1.Types.dpi1)
     405
     406(** val eject__o__sig_to_part__o__inject :
     407    Nat.nat Types.sig0 Types.sig0 -> part Types.sig0 **)
     408let eject__o__sig_to_part__o__inject x2 =
     409  part_from_sig (Types.pi1 x2)
     410
     411(** val eject__o__sig_to_part__o__part_no__o__inject :
     412    Nat.nat Types.sig0 Types.sig0 -> Nat.nat Types.sig0 **)
     413let eject__o__sig_to_part__o__part_no__o__inject x2 =
     414  part_no__o__inject (part_from_sig (Types.pi1 x2))
     415
     416(** val eject__o__sig_to_part__o__part_no__o__Z_of_nat :
     417    Nat.nat Types.sig0 Types.sig0 -> Z.z **)
     418let eject__o__sig_to_part__o__part_no__o__Z_of_nat x1 =
     419  part_no__o__Z_of_nat (part_from_sig (Types.pi1 x1))
     420
     421(** val eject__o__sig_to_part__o__part_no :
     422    Nat.nat Types.sig0 Types.sig0 -> Nat.nat **)
     423let eject__o__sig_to_part__o__part_no x1 =
     424  part_no (part_from_sig (Types.pi1 x1))
     425
     426(** val sig_to_part__o__part_no : Nat.nat Types.sig0 -> Nat.nat **)
     427let sig_to_part__o__part_no x0 =
     428  part_no (part_from_sig x0)
     429
     430(** val sig_to_part__o__part_no__o__Z_of_nat : Nat.nat Types.sig0 -> Z.z **)
     431let sig_to_part__o__part_no__o__Z_of_nat x0 =
     432  part_no__o__Z_of_nat (part_from_sig x0)
     433
     434(** val sig_to_part__o__part_no__o__inject :
     435    Nat.nat Types.sig0 -> Nat.nat Types.sig0 **)
     436let sig_to_part__o__part_no__o__inject x1 =
     437  part_no__o__inject (part_from_sig x1)
     438
     439(** val sig_to_part__o__inject : Nat.nat Types.sig0 -> part Types.sig0 **)
     440let sig_to_part__o__inject x1 =
     441  part_from_sig x1
     442
     443(** val dpi1__o__part_no__o__inject__o__sig_to_part :
     444    (part, 'a1) Types.dPair -> part **)
     445let dpi1__o__part_no__o__inject__o__sig_to_part x1 =
     446  part_from_sig (dpi1__o__part_no__o__inject x1)
     447
     448(** val eject__o__part_no__o__inject__o__sig_to_part :
     449    part Types.sig0 -> part **)
     450let eject__o__part_no__o__inject__o__sig_to_part x1 =
     451  part_from_sig (eject__o__part_no__o__inject x1)
     452
     453(** val inject__o__sig_to_part : Nat.nat -> part **)
     454let inject__o__sig_to_part x0 =
     455  part_from_sig x0
     456
     457(** val part_no__o__inject__o__sig_to_part : part -> part **)
     458let part_no__o__inject__o__sig_to_part x0 =
     459  part_from_sig (part_no__o__inject x0)
     460
     461(** val dpi1__o__sig_to_part :
     462    (Nat.nat Types.sig0, 'a1) Types.dPair -> part **)
     463let dpi1__o__sig_to_part x1 =
     464  part_from_sig x1.Types.dpi1
     465
     466(** val eject__o__sig_to_part : Nat.nat Types.sig0 Types.sig0 -> part **)
     467let eject__o__sig_to_part x1 =
     468  part_from_sig (Types.pi1 x1)
    309469
    310470type beval =
     
    326486| BVundef -> h_BVundef
    327487| BVnonzero -> h_BVnonzero
    328 | BVXor (x_5770, x_5769, x_5768) -> h_BVXor x_5770 x_5769 x_5768
    329 | BVByte x_5771 -> h_BVByte x_5771
    330 | BVnull x_5772 -> h_BVnull x_5772
    331 | BVptr (x_5774, x_5773) -> h_BVptr x_5774 x_5773
    332 | BVpc (x_5776, x_5775) -> h_BVpc x_5776 x_5775
     488| BVXor (x_6170, x_6169, x_6168) -> h_BVXor x_6170 x_6169 x_6168
     489| BVByte x_6171 -> h_BVByte x_6171
     490| BVnull x_6172 -> h_BVnull x_6172
     491| BVptr (x_6174, x_6173) -> h_BVptr x_6174 x_6173
     492| BVpc (x_6176, x_6175) -> h_BVpc x_6176 x_6175
    333493
    334494(** val beval_rect_Type5 :
     
    340500| BVundef -> h_BVundef
    341501| BVnonzero -> h_BVnonzero
    342 | BVXor (x_5787, x_5786, x_5785) -> h_BVXor x_5787 x_5786 x_5785
    343 | BVByte x_5788 -> h_BVByte x_5788
    344 | BVnull x_5789 -> h_BVnull x_5789
    345 | BVptr (x_5791, x_5790) -> h_BVptr x_5791 x_5790
    346 | BVpc (x_5793, x_5792) -> h_BVpc x_5793 x_5792
     502| BVXor (x_6187, x_6186, x_6185) -> h_BVXor x_6187 x_6186 x_6185
     503| BVByte x_6188 -> h_BVByte x_6188
     504| BVnull x_6189 -> h_BVnull x_6189
     505| BVptr (x_6191, x_6190) -> h_BVptr x_6191 x_6190
     506| BVpc (x_6193, x_6192) -> h_BVpc x_6193 x_6192
    347507
    348508(** val beval_rect_Type3 :
     
    354514| BVundef -> h_BVundef
    355515| BVnonzero -> h_BVnonzero
    356 | BVXor (x_5804, x_5803, x_5802) -> h_BVXor x_5804 x_5803 x_5802
    357 | BVByte x_5805 -> h_BVByte x_5805
    358 | BVnull x_5806 -> h_BVnull x_5806
    359 | BVptr (x_5808, x_5807) -> h_BVptr x_5808 x_5807
    360 | BVpc (x_5810, x_5809) -> h_BVpc x_5810 x_5809
     516| BVXor (x_6204, x_6203, x_6202) -> h_BVXor x_6204 x_6203 x_6202
     517| BVByte x_6205 -> h_BVByte x_6205
     518| BVnull x_6206 -> h_BVnull x_6206
     519| BVptr (x_6208, x_6207) -> h_BVptr x_6208 x_6207
     520| BVpc (x_6210, x_6209) -> h_BVpc x_6210 x_6209
    361521
    362522(** val beval_rect_Type2 :
     
    368528| BVundef -> h_BVundef
    369529| BVnonzero -> h_BVnonzero
    370 | BVXor (x_5821, x_5820, x_5819) -> h_BVXor x_5821 x_5820 x_5819
    371 | BVByte x_5822 -> h_BVByte x_5822
    372 | BVnull x_5823 -> h_BVnull x_5823
    373 | BVptr (x_5825, x_5824) -> h_BVptr x_5825 x_5824
    374 | BVpc (x_5827, x_5826) -> h_BVpc x_5827 x_5826
     530| BVXor (x_6221, x_6220, x_6219) -> h_BVXor x_6221 x_6220 x_6219
     531| BVByte x_6222 -> h_BVByte x_6222
     532| BVnull x_6223 -> h_BVnull x_6223
     533| BVptr (x_6225, x_6224) -> h_BVptr x_6225 x_6224
     534| BVpc (x_6227, x_6226) -> h_BVpc x_6227 x_6226
    375535
    376536(** val beval_rect_Type1 :
     
    382542| BVundef -> h_BVundef
    383543| BVnonzero -> h_BVnonzero
    384 | BVXor (x_5838, x_5837, x_5836) -> h_BVXor x_5838 x_5837 x_5836
    385 | BVByte x_5839 -> h_BVByte x_5839
    386 | BVnull x_5840 -> h_BVnull x_5840
    387 | BVptr (x_5842, x_5841) -> h_BVptr x_5842 x_5841
    388 | BVpc (x_5844, x_5843) -> h_BVpc x_5844 x_5843
     544| BVXor (x_6238, x_6237, x_6236) -> h_BVXor x_6238 x_6237 x_6236
     545| BVByte x_6239 -> h_BVByte x_6239
     546| BVnull x_6240 -> h_BVnull x_6240
     547| BVptr (x_6242, x_6241) -> h_BVptr x_6242 x_6241
     548| BVpc (x_6244, x_6243) -> h_BVpc x_6244 x_6243
    389549
    390550(** val beval_rect_Type0 :
     
    396556| BVundef -> h_BVundef
    397557| BVnonzero -> h_BVnonzero
    398 | BVXor (x_5855, x_5854, x_5853) -> h_BVXor x_5855 x_5854 x_5853
    399 | BVByte x_5856 -> h_BVByte x_5856
    400 | BVnull x_5857 -> h_BVnull x_5857
    401 | BVptr (x_5859, x_5858) -> h_BVptr x_5859 x_5858
    402 | BVpc (x_5861, x_5860) -> h_BVpc x_5861 x_5860
     558| BVXor (x_6255, x_6254, x_6253) -> h_BVXor x_6255 x_6254 x_6253
     559| BVByte x_6256 -> h_BVByte x_6256
     560| BVnull x_6257 -> h_BVnull x_6257
     561| BVptr (x_6259, x_6258) -> h_BVptr x_6259 x_6258
     562| BVpc (x_6261, x_6260) -> h_BVpc x_6261 x_6260
    403563
    404564(** val beval_inv_rect_Type4 :
     
    739899    BitVector.bitVector -> 'a1) -> bebit -> 'a1 **)
    740900let rec bebit_rect_Type4 h_BBbit h_BBundef h_BBptrcarry = function
    741 | BBbit x_5980 -> h_BBbit x_5980
     901| BBbit x_6380 -> h_BBbit x_6380
    742902| BBundef -> h_BBundef
    743 | BBptrcarry (x_5983, x_5982, p, x_5981) ->
    744   h_BBptrcarry x_5983 x_5982 p x_5981
     903| BBptrcarry (x_6383, x_6382, p, x_6381) ->
     904  h_BBptrcarry x_6383 x_6382 p x_6381
    745905
    746906(** val bebit_rect_Type5 :
     
    748908    BitVector.bitVector -> 'a1) -> bebit -> 'a1 **)
    749909let rec bebit_rect_Type5 h_BBbit h_BBundef h_BBptrcarry = function
    750 | BBbit x_5988 -> h_BBbit x_5988
     910| BBbit x_6388 -> h_BBbit x_6388
    751911| BBundef -> h_BBundef
    752 | BBptrcarry (x_5991, x_5990, p, x_5989) ->
    753   h_BBptrcarry x_5991 x_5990 p x_5989
     912| BBptrcarry (x_6391, x_6390, p, x_6389) ->
     913  h_BBptrcarry x_6391 x_6390 p x_6389
    754914
    755915(** val bebit_rect_Type3 :
     
    757917    BitVector.bitVector -> 'a1) -> bebit -> 'a1 **)
    758918let rec bebit_rect_Type3 h_BBbit h_BBundef h_BBptrcarry = function
    759 | BBbit x_5996 -> h_BBbit x_5996
     919| BBbit x_6396 -> h_BBbit x_6396
    760920| BBundef -> h_BBundef
    761 | BBptrcarry (x_5999, x_5998, p, x_5997) ->
    762   h_BBptrcarry x_5999 x_5998 p x_5997
     921| BBptrcarry (x_6399, x_6398, p, x_6397) ->
     922  h_BBptrcarry x_6399 x_6398 p x_6397
    763923
    764924(** val bebit_rect_Type2 :
     
    766926    BitVector.bitVector -> 'a1) -> bebit -> 'a1 **)
    767927let rec bebit_rect_Type2 h_BBbit h_BBundef h_BBptrcarry = function
    768 | BBbit x_6004 -> h_BBbit x_6004
     928| BBbit x_6404 -> h_BBbit x_6404
    769929| BBundef -> h_BBundef
    770 | BBptrcarry (x_6007, x_6006, p, x_6005) ->
    771   h_BBptrcarry x_6007 x_6006 p x_6005
     930| BBptrcarry (x_6407, x_6406, p, x_6405) ->
     931  h_BBptrcarry x_6407 x_6406 p x_6405
    772932
    773933(** val bebit_rect_Type1 :
     
    775935    BitVector.bitVector -> 'a1) -> bebit -> 'a1 **)
    776936let rec bebit_rect_Type1 h_BBbit h_BBundef h_BBptrcarry = function
    777 | BBbit x_6012 -> h_BBbit x_6012
     937| BBbit x_6412 -> h_BBbit x_6412
    778938| BBundef -> h_BBundef
    779 | BBptrcarry (x_6015, x_6014, p, x_6013) ->
    780   h_BBptrcarry x_6015 x_6014 p x_6013
     939| BBptrcarry (x_6415, x_6414, p, x_6413) ->
     940  h_BBptrcarry x_6415 x_6414 p x_6413
    781941
    782942(** val bebit_rect_Type0 :
     
    784944    BitVector.bitVector -> 'a1) -> bebit -> 'a1 **)
    785945let rec bebit_rect_Type0 h_BBbit h_BBundef h_BBptrcarry = function
    786 | BBbit x_6020 -> h_BBbit x_6020
     946| BBbit x_6420 -> h_BBbit x_6420
    787947| BBundef -> h_BBundef
    788 | BBptrcarry (x_6023, x_6022, p, x_6021) ->
    789   h_BBptrcarry x_6023 x_6022 p x_6021
     948| BBptrcarry (x_6423, x_6422, p, x_6421) ->
     949  h_BBptrcarry x_6423 x_6422 p x_6421
    790950
    791951(** val bebit_inv_rect_Type4 :
  • extracted/byteValues.mli

    r2717 r2743  
    196196
    197197val part_from_sig : Nat.nat Types.sig0 -> part
     198
     199val dpi1__o__part_no__o__inject__o__sig_to_part__o__inject :
     200  (part, 'a1) Types.dPair -> part Types.sig0
     201
     202val dpi1__o__part_no__o__inject__o__sig_to_part__o__part_no__o__inject :
     203  (part, 'a1) Types.dPair -> Nat.nat Types.sig0
     204
     205val dpi1__o__part_no__o__inject__o__sig_to_part__o__part_no__o__Z_of_nat :
     206  (part, 'a1) Types.dPair -> Z.z
     207
     208val dpi1__o__part_no__o__inject__o__sig_to_part__o__part_no :
     209  (part, 'a1) Types.dPair -> Nat.nat
     210
     211val eject__o__part_no__o__inject__o__sig_to_part__o__inject :
     212  part Types.sig0 -> part Types.sig0
     213
     214val eject__o__part_no__o__inject__o__sig_to_part__o__part_no__o__inject :
     215  part Types.sig0 -> Nat.nat Types.sig0
     216
     217val eject__o__part_no__o__inject__o__sig_to_part__o__part_no__o__Z_of_nat :
     218  part Types.sig0 -> Z.z
     219
     220val eject__o__part_no__o__inject__o__sig_to_part__o__part_no :
     221  part Types.sig0 -> Nat.nat
     222
     223val inject__o__sig_to_part__o__inject : Nat.nat -> part Types.sig0
     224
     225val inject__o__sig_to_part__o__part_no__o__inject :
     226  Nat.nat -> Nat.nat Types.sig0
     227
     228val inject__o__sig_to_part__o__part_no__o__Z_of_nat : Nat.nat -> Z.z
     229
     230val inject__o__sig_to_part__o__part_no : Nat.nat -> Nat.nat
     231
     232val part_no__o__inject__o__sig_to_part__o__inject : part -> part Types.sig0
     233
     234val part_no__o__inject__o__sig_to_part__o__part_no__o__inject :
     235  part -> Nat.nat Types.sig0
     236
     237val part_no__o__inject__o__sig_to_part__o__part_no__o__Z_of_nat : part -> Z.z
     238
     239val part_no__o__inject__o__sig_to_part__o__part_no : part -> Nat.nat
     240
     241val dpi1__o__sig_to_part__o__inject :
     242  (Nat.nat Types.sig0, 'a1) Types.dPair -> part Types.sig0
     243
     244val dpi1__o__sig_to_part__o__part_no__o__inject :
     245  (Nat.nat Types.sig0, 'a1) Types.dPair -> Nat.nat Types.sig0
     246
     247val dpi1__o__sig_to_part__o__part_no__o__Z_of_nat :
     248  (Nat.nat Types.sig0, 'a1) Types.dPair -> Z.z
     249
     250val dpi1__o__sig_to_part__o__part_no :
     251  (Nat.nat Types.sig0, 'a1) Types.dPair -> Nat.nat
     252
     253val eject__o__sig_to_part__o__inject :
     254  Nat.nat Types.sig0 Types.sig0 -> part Types.sig0
     255
     256val eject__o__sig_to_part__o__part_no__o__inject :
     257  Nat.nat Types.sig0 Types.sig0 -> Nat.nat Types.sig0
     258
     259val eject__o__sig_to_part__o__part_no__o__Z_of_nat :
     260  Nat.nat Types.sig0 Types.sig0 -> Z.z
     261
     262val eject__o__sig_to_part__o__part_no :
     263  Nat.nat Types.sig0 Types.sig0 -> Nat.nat
     264
     265val sig_to_part__o__part_no : Nat.nat Types.sig0 -> Nat.nat
     266
     267val sig_to_part__o__part_no__o__Z_of_nat : Nat.nat Types.sig0 -> Z.z
     268
     269val sig_to_part__o__part_no__o__inject :
     270  Nat.nat Types.sig0 -> Nat.nat Types.sig0
     271
     272val sig_to_part__o__inject : Nat.nat Types.sig0 -> part Types.sig0
     273
     274val dpi1__o__part_no__o__inject__o__sig_to_part :
     275  (part, 'a1) Types.dPair -> part
     276
     277val eject__o__part_no__o__inject__o__sig_to_part : part Types.sig0 -> part
     278
     279val inject__o__sig_to_part : Nat.nat -> part
     280
     281val part_no__o__inject__o__sig_to_part : part -> part
     282
     283val dpi1__o__sig_to_part : (Nat.nat Types.sig0, 'a1) Types.dPair -> part
     284
     285val eject__o__sig_to_part : Nat.nat Types.sig0 Types.sig0 -> part
    198286
    199287type beval =
  • extracted/classifyOp.ml

    r2730 r2743  
    9898    (Csyntax.type0 -> Csyntax.type0 -> 'a1) -> Csyntax.type0 -> Csyntax.type0
    9999    -> classify_add_cases -> 'a1 **)
    100 let rec classify_add_cases_rect_Type4 h_add_case_ii h_add_case_pi h_add_case_ip h_add_default x_4059 x_4058 = function
     100let rec classify_add_cases_rect_Type4 h_add_case_ii h_add_case_pi h_add_case_ip h_add_default x_7350 x_7349 = function
    101101| Add_case_ii (sz, sg) -> h_add_case_ii sz sg
    102102| Add_case_pi (n, ty, sz, sg) -> h_add_case_pi n ty sz sg
     
    110110    (Csyntax.type0 -> Csyntax.type0 -> 'a1) -> Csyntax.type0 -> Csyntax.type0
    111111    -> classify_add_cases -> 'a1 **)
    112 let rec classify_add_cases_rect_Type5 h_add_case_ii h_add_case_pi h_add_case_ip h_add_default x_4066 x_4065 = function
     112let rec classify_add_cases_rect_Type5 h_add_case_ii h_add_case_pi h_add_case_ip h_add_default x_7357 x_7356 = function
    113113| Add_case_ii (sz, sg) -> h_add_case_ii sz sg
    114114| Add_case_pi (n, ty, sz, sg) -> h_add_case_pi n ty sz sg
     
    122122    (Csyntax.type0 -> Csyntax.type0 -> 'a1) -> Csyntax.type0 -> Csyntax.type0
    123123    -> classify_add_cases -> 'a1 **)
    124 let rec classify_add_cases_rect_Type3 h_add_case_ii h_add_case_pi h_add_case_ip h_add_default x_4073 x_4072 = function
     124let rec classify_add_cases_rect_Type3 h_add_case_ii h_add_case_pi h_add_case_ip h_add_default x_7364 x_7363 = function
    125125| Add_case_ii (sz, sg) -> h_add_case_ii sz sg
    126126| Add_case_pi (n, ty, sz, sg) -> h_add_case_pi n ty sz sg
     
    134134    (Csyntax.type0 -> Csyntax.type0 -> 'a1) -> Csyntax.type0 -> Csyntax.type0
    135135    -> classify_add_cases -> 'a1 **)
    136 let rec classify_add_cases_rect_Type2 h_add_case_ii h_add_case_pi h_add_case_ip h_add_default x_4080 x_4079 = function
     136let rec classify_add_cases_rect_Type2 h_add_case_ii h_add_case_pi h_add_case_ip h_add_default x_7371 x_7370 = function
    137137| Add_case_ii (sz, sg) -> h_add_case_ii sz sg
    138138| Add_case_pi (n, ty, sz, sg) -> h_add_case_pi n ty sz sg
     
    146146    (Csyntax.type0 -> Csyntax.type0 -> 'a1) -> Csyntax.type0 -> Csyntax.type0
    147147    -> classify_add_cases -> 'a1 **)
    148 let rec classify_add_cases_rect_Type1 h_add_case_ii h_add_case_pi h_add_case_ip h_add_default x_4087 x_4086 = function
     148let rec classify_add_cases_rect_Type1 h_add_case_ii h_add_case_pi h_add_case_ip h_add_default x_7378 x_7377 = function
    149149| Add_case_ii (sz, sg) -> h_add_case_ii sz sg
    150150| Add_case_pi (n, ty, sz, sg) -> h_add_case_pi n ty sz sg
     
    158158    (Csyntax.type0 -> Csyntax.type0 -> 'a1) -> Csyntax.type0 -> Csyntax.type0
    159159    -> classify_add_cases -> 'a1 **)
    160 let rec classify_add_cases_rect_Type0 h_add_case_ii h_add_case_pi h_add_case_ip h_add_default x_4094 x_4093 = function
     160let rec classify_add_cases_rect_Type0 h_add_case_ii h_add_case_pi h_add_case_ip h_add_default x_7385 x_7384 = function
    161161| Add_case_ii (sz, sg) -> h_add_case_ii sz sg
    162162| Add_case_pi (n, ty, sz, sg) -> h_add_case_pi n ty sz sg
     
    321321    'a1) -> (Csyntax.type0 -> Csyntax.type0 -> 'a1) -> Csyntax.type0 ->
    322322    Csyntax.type0 -> classify_sub_cases -> 'a1 **)
    323 let rec classify_sub_cases_rect_Type4 h_sub_case_ii h_sub_case_pi h_sub_case_pp h_sub_default x_4150 x_4149 = function
     323let rec classify_sub_cases_rect_Type4 h_sub_case_ii h_sub_case_pi h_sub_case_pp h_sub_default x_7441 x_7440 = function
    324324| Sub_case_ii (sz, sg) -> h_sub_case_ii sz sg
    325325| Sub_case_pi (n, ty, sz, sg) -> h_sub_case_pi n ty sz sg
     
    333333    'a1) -> (Csyntax.type0 -> Csyntax.type0 -> 'a1) -> Csyntax.type0 ->
    334334    Csyntax.type0 -> classify_sub_cases -> 'a1 **)
    335 let rec classify_sub_cases_rect_Type5 h_sub_case_ii h_sub_case_pi h_sub_case_pp h_sub_default x_4157 x_4156 = function
     335let rec classify_sub_cases_rect_Type5 h_sub_case_ii h_sub_case_pi h_sub_case_pp h_sub_default x_7448 x_7447 = function
    336336| Sub_case_ii (sz, sg) -> h_sub_case_ii sz sg
    337337| Sub_case_pi (n, ty, sz, sg) -> h_sub_case_pi n ty sz sg
     
    345345    'a1) -> (Csyntax.type0 -> Csyntax.type0 -> 'a1) -> Csyntax.type0 ->
    346346    Csyntax.type0 -> classify_sub_cases -> 'a1 **)
    347 let rec classify_sub_cases_rect_Type3 h_sub_case_ii h_sub_case_pi h_sub_case_pp h_sub_default x_4164 x_4163 = function
     347let rec classify_sub_cases_rect_Type3 h_sub_case_ii h_sub_case_pi h_sub_case_pp h_sub_default x_7455 x_7454 = function
    348348| Sub_case_ii (sz, sg) -> h_sub_case_ii sz sg
    349349| Sub_case_pi (n, ty, sz, sg) -> h_sub_case_pi n ty sz sg
     
    357357    'a1) -> (Csyntax.type0 -> Csyntax.type0 -> 'a1) -> Csyntax.type0 ->
    358358    Csyntax.type0 -> classify_sub_cases -> 'a1 **)
    359 let rec classify_sub_cases_rect_Type2 h_sub_case_ii h_sub_case_pi h_sub_case_pp h_sub_default x_4171 x_4170 = function
     359let rec classify_sub_cases_rect_Type2 h_sub_case_ii h_sub_case_pi h_sub_case_pp h_sub_default x_7462 x_7461 = function
    360360| Sub_case_ii (sz, sg) -> h_sub_case_ii sz sg
    361361| Sub_case_pi (n, ty, sz, sg) -> h_sub_case_pi n ty sz sg
     
    369369    'a1) -> (Csyntax.type0 -> Csyntax.type0 -> 'a1) -> Csyntax.type0 ->
    370370    Csyntax.type0 -> classify_sub_cases -> 'a1 **)
    371 let rec classify_sub_cases_rect_Type1 h_sub_case_ii h_sub_case_pi h_sub_case_pp h_sub_default x_4178 x_4177 = function
     371let rec classify_sub_cases_rect_Type1 h_sub_case_ii h_sub_case_pi h_sub_case_pp h_sub_default x_7469 x_7468 = function
    372372| Sub_case_ii (sz, sg) -> h_sub_case_ii sz sg
    373373| Sub_case_pi (n, ty, sz, sg) -> h_sub_case_pi n ty sz sg
     
    381381    'a1) -> (Csyntax.type0 -> Csyntax.type0 -> 'a1) -> Csyntax.type0 ->
    382382    Csyntax.type0 -> classify_sub_cases -> 'a1 **)
    383 let rec classify_sub_cases_rect_Type0 h_sub_case_ii h_sub_case_pi h_sub_case_pp h_sub_default x_4185 x_4184 = function
     383let rec classify_sub_cases_rect_Type0 h_sub_case_ii h_sub_case_pi h_sub_case_pp h_sub_default x_7476 x_7475 = function
    384384| Sub_case_ii (sz, sg) -> h_sub_case_ii sz sg
    385385| Sub_case_pi (n, ty, sz, sg) -> h_sub_case_pi n ty sz sg
     
    521521    (AST.intsize -> AST.signedness -> 'a1) -> (Csyntax.type0 -> Csyntax.type0
    522522    -> 'a1) -> Csyntax.type0 -> Csyntax.type0 -> classify_aop_cases -> 'a1 **)
    523 let rec classify_aop_cases_rect_Type4 h_aop_case_ii h_aop_default x_4239 x_4238 = function
     523let rec classify_aop_cases_rect_Type4 h_aop_case_ii h_aop_default x_7530 x_7529 = function
    524524| Aop_case_ii (sz, sg) -> h_aop_case_ii sz sg
    525525| Aop_default (ty, ty') -> h_aop_default ty ty'
     
    528528    (AST.intsize -> AST.signedness -> 'a1) -> (Csyntax.type0 -> Csyntax.type0
    529529    -> 'a1) -> Csyntax.type0 -> Csyntax.type0 -> classify_aop_cases -> 'a1 **)
    530 let rec classify_aop_cases_rect_Type5 h_aop_case_ii h_aop_default x_4244 x_4243 = function
     530let rec classify_aop_cases_rect_Type5 h_aop_case_ii h_aop_default x_7535 x_7534 = function
    531531| Aop_case_ii (sz, sg) -> h_aop_case_ii sz sg
    532532| Aop_default (ty, ty') -> h_aop_default ty ty'
     
    535535    (AST.intsize -> AST.signedness -> 'a1) -> (Csyntax.type0 -> Csyntax.type0
    536536    -> 'a1) -> Csyntax.type0 -> Csyntax.type0 -> classify_aop_cases -> 'a1 **)
    537 let rec classify_aop_cases_rect_Type3 h_aop_case_ii h_aop_default x_4249 x_4248 = function
     537let rec classify_aop_cases_rect_Type3 h_aop_case_ii h_aop_default x_7540 x_7539 = function
    538538| Aop_case_ii (sz, sg) -> h_aop_case_ii sz sg
    539539| Aop_default (ty, ty') -> h_aop_default ty ty'
     
    542542    (AST.intsize -> AST.signedness -> 'a1) -> (Csyntax.type0 -> Csyntax.type0
    543543    -> 'a1) -> Csyntax.type0 -> Csyntax.type0 -> classify_aop_cases -> 'a1 **)
    544 let rec classify_aop_cases_rect_Type2 h_aop_case_ii h_aop_default x_4254 x_4253 = function
     544let rec classify_aop_cases_rect_Type2 h_aop_case_ii h_aop_default x_7545 x_7544 = function
    545545| Aop_case_ii (sz, sg) -> h_aop_case_ii sz sg
    546546| Aop_default (ty, ty') -> h_aop_default ty ty'
     
    549549    (AST.intsize -> AST.signedness -> 'a1) -> (Csyntax.type0 -> Csyntax.type0
    550550    -> 'a1) -> Csyntax.type0 -> Csyntax.type0 -> classify_aop_cases -> 'a1 **)
    551 let rec classify_aop_cases_rect_Type1 h_aop_case_ii h_aop_default x_4259 x_4258 = function
     551let rec classify_aop_cases_rect_Type1 h_aop_case_ii h_aop_default x_7550 x_7549 = function
    552552| Aop_case_ii (sz, sg) -> h_aop_case_ii sz sg
    553553| Aop_default (ty, ty') -> h_aop_default ty ty'
     
    556556    (AST.intsize -> AST.signedness -> 'a1) -> (Csyntax.type0 -> Csyntax.type0
    557557    -> 'a1) -> Csyntax.type0 -> Csyntax.type0 -> classify_aop_cases -> 'a1 **)
    558 let rec classify_aop_cases_rect_Type0 h_aop_case_ii h_aop_default x_4264 x_4263 = function
     558let rec classify_aop_cases_rect_Type0 h_aop_case_ii h_aop_default x_7555 x_7554 = function
    559559| Aop_case_ii (sz, sg) -> h_aop_case_ii sz sg
    560560| Aop_default (ty, ty') -> h_aop_default ty ty'
     
    638638    Csyntax.type0 -> 'a1) -> (Csyntax.type0 -> Csyntax.type0 -> 'a1) ->
    639639    Csyntax.type0 -> Csyntax.type0 -> classify_cmp_cases -> 'a1 **)
    640 let rec classify_cmp_cases_rect_Type4 h_cmp_case_ii h_cmp_case_pp h_cmp_default x_4305 x_4304 = function
     640let rec classify_cmp_cases_rect_Type4 h_cmp_case_ii h_cmp_case_pp h_cmp_default x_7596 x_7595 = function
    641641| Cmp_case_ii (sz, sg) -> h_cmp_case_ii sz sg
    642642| Cmp_case_pp (n, ty) -> h_cmp_case_pp n ty
     
    647647    Csyntax.type0 -> 'a1) -> (Csyntax.type0 -> Csyntax.type0 -> 'a1) ->
    648648    Csyntax.type0 -> Csyntax.type0 -> classify_cmp_cases -> 'a1 **)
    649 let rec classify_cmp_cases_rect_Type5 h_cmp_case_ii h_cmp_case_pp h_cmp_default x_4311 x_4310 = function
     649let rec classify_cmp_cases_rect_Type5 h_cmp_case_ii h_cmp_case_pp h_cmp_default x_7602 x_7601 = function
    650650| Cmp_case_ii (sz, sg) -> h_cmp_case_ii sz sg
    651651| Cmp_case_pp (n, ty) -> h_cmp_case_pp n ty
     
    656656    Csyntax.type0 -> 'a1) -> (Csyntax.type0 -> Csyntax.type0 -> 'a1) ->
    657657    Csyntax.type0 -> Csyntax.type0 -> classify_cmp_cases -> 'a1 **)
    658 let rec classify_cmp_cases_rect_Type3 h_cmp_case_ii h_cmp_case_pp h_cmp_default x_4317 x_4316 = function
     658let rec classify_cmp_cases_rect_Type3 h_cmp_case_ii h_cmp_case_pp h_cmp_default x_7608 x_7607 = function
    659659| Cmp_case_ii (sz, sg) -> h_cmp_case_ii sz sg
    660660| Cmp_case_pp (n, ty) -> h_cmp_case_pp n ty
     
    665665    Csyntax.type0 -> 'a1) -> (Csyntax.type0 -> Csyntax.type0 -> 'a1) ->
    666666    Csyntax.type0 -> Csyntax.type0 -> classify_cmp_cases -> 'a1 **)
    667 let rec classify_cmp_cases_rect_Type2 h_cmp_case_ii h_cmp_case_pp h_cmp_default x_4323 x_4322 = function
     667let rec classify_cmp_cases_rect_Type2 h_cmp_case_ii h_cmp_case_pp h_cmp_default x_7614 x_7613 = function
    668668| Cmp_case_ii (sz, sg) -> h_cmp_case_ii sz sg
    669669| Cmp_case_pp (n, ty) -> h_cmp_case_pp n ty
     
    674674    Csyntax.type0 -> 'a1) -> (Csyntax.type0 -> Csyntax.type0 -> 'a1) ->
    675675    Csyntax.type0 -> Csyntax.type0 -> classify_cmp_cases -> 'a1 **)
    676 let rec classify_cmp_cases_rect_Type1 h_cmp_case_ii h_cmp_case_pp h_cmp_default x_4329 x_4328 = function
     676let rec classify_cmp_cases_rect_Type1 h_cmp_case_ii h_cmp_case_pp h_cmp_default x_7620 x_7619 = function
    677677| Cmp_case_ii (sz, sg) -> h_cmp_case_ii sz sg
    678678| Cmp_case_pp (n, ty) -> h_cmp_case_pp n ty
     
    683683    Csyntax.type0 -> 'a1) -> (Csyntax.type0 -> Csyntax.type0 -> 'a1) ->
    684684    Csyntax.type0 -> Csyntax.type0 -> classify_cmp_cases -> 'a1 **)
    685 let rec classify_cmp_cases_rect_Type0 h_cmp_case_ii h_cmp_case_pp h_cmp_default x_4335 x_4334 = function
     685let rec classify_cmp_cases_rect_Type0 h_cmp_case_ii h_cmp_case_pp h_cmp_default x_7626 x_7625 = function
    686686| Cmp_case_ii (sz, sg) -> h_cmp_case_ii sz sg
    687687| Cmp_case_pp (n, ty) -> h_cmp_case_pp n ty
     
    782782    -> 'a1 **)
    783783let rec classify_fun_cases_rect_Type4 h_fun_case_f h_fun_default = function
    784 | Fun_case_f (x_4383, x_4382) -> h_fun_case_f x_4383 x_4382
     784| Fun_case_f (x_7674, x_7673) -> h_fun_case_f x_7674 x_7673
    785785| Fun_default -> h_fun_default
    786786
     
    789789    -> 'a1 **)
    790790let rec classify_fun_cases_rect_Type5 h_fun_case_f h_fun_default = function
    791 | Fun_case_f (x_4388, x_4387) -> h_fun_case_f x_4388 x_4387
     791| Fun_case_f (x_7679, x_7678) -> h_fun_case_f x_7679 x_7678
    792792| Fun_default -> h_fun_default
    793793
     
    796796    -> 'a1 **)
    797797let rec classify_fun_cases_rect_Type3 h_fun_case_f h_fun_default = function
    798 | Fun_case_f (x_4393, x_4392) -> h_fun_case_f x_4393 x_4392
     798| Fun_case_f (x_7684, x_7683) -> h_fun_case_f x_7684 x_7683
    799799| Fun_default -> h_fun_default
    800800
     
    803803    -> 'a1 **)
    804804let rec classify_fun_cases_rect_Type2 h_fun_case_f h_fun_default = function
    805 | Fun_case_f (x_4398, x_4397) -> h_fun_case_f x_4398 x_4397
     805| Fun_case_f (x_7689, x_7688) -> h_fun_case_f x_7689 x_7688
    806806| Fun_default -> h_fun_default
    807807
     
    810810    -> 'a1 **)
    811811let rec classify_fun_cases_rect_Type1 h_fun_case_f h_fun_default = function
    812 | Fun_case_f (x_4403, x_4402) -> h_fun_case_f x_4403 x_4402
     812| Fun_case_f (x_7694, x_7693) -> h_fun_case_f x_7694 x_7693
    813813| Fun_default -> h_fun_default
    814814
     
    817817    -> 'a1 **)
    818818let rec classify_fun_cases_rect_Type0 h_fun_case_f h_fun_default = function
    819 | Fun_case_f (x_4408, x_4407) -> h_fun_case_f x_4408 x_4407
     819| Fun_case_f (x_7699, x_7698) -> h_fun_case_f x_7699 x_7698
    820820| Fun_default -> h_fun_default
    821821
  • extracted/cminor_syntax.ml

    r2730 r2743  
    115115    -> 'a1 -> 'a1 -> 'a1) -> (AST.typ -> CostLabel.costlabel -> expr -> 'a1
    116116    -> 'a1) -> AST.typ -> expr -> 'a1 **)
    117 let rec expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost x_2569 = function
    118 | Id (t, x_2571) -> h_Id t x_2571
    119 | Cst (t, x_2572) -> h_Cst t x_2572
    120 | Op1 (t, t', x_2574, x_2573) ->
    121   h_Op1 t t' x_2574 x_2573
    122     (expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_2573)
    123 | Op2 (t1, t2, t', x_2577, x_2576, x_2575) ->
    124   h_Op2 t1 t2 t' x_2577 x_2576 x_2575
    125     (expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t1 x_2576)
    126     (expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t2 x_2575)
    127 | Mem (t, x_2578) ->
    128   h_Mem t x_2578
     117let rec expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost x_13707 = function
     118| Id (t, x_13709) -> h_Id t x_13709
     119| Cst (t, x_13710) -> h_Cst t x_13710
     120| Op1 (t, t', x_13712, x_13711) ->
     121  h_Op1 t t' x_13712 x_13711
     122    (expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13711)
     123| Op2 (t1, t2, t', x_13715, x_13714, x_13713) ->
     124  h_Op2 t1 t2 t' x_13715 x_13714 x_13713
     125    (expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t1 x_13714)
     126    (expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t2 x_13713)
     127| Mem (t, x_13716) ->
     128  h_Mem t x_13716
    129129    (expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost AST.ASTptr
    130       x_2578)
    131 | Cond (sz, sg, t, x_2581, x_2580, x_2579) ->
    132   h_Cond sz sg t x_2581 x_2580 x_2579
     130      x_13716)
     131| Cond (sz, sg, t, x_13719, x_13718, x_13717) ->
     132  h_Cond sz sg t x_13719 x_13718 x_13717
    133133    (expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost (AST.ASTint
    134       (sz, sg)) x_2581)
    135     (expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_2580)
    136     (expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_2579)
    137 | Ecost (t, x_2583, x_2582) ->
    138   h_Ecost t x_2583 x_2582
    139     (expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_2582)
     134      (sz, sg)) x_13719)
     135    (expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13718)
     136    (expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13717)
     137| Ecost (t, x_13721, x_13720) ->
     138  h_Ecost t x_13721 x_13720
     139    (expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13720)
    140140
    141141(** val expr_rect_Type3 :
     
    147147    -> 'a1 -> 'a1 -> 'a1) -> (AST.typ -> CostLabel.costlabel -> expr -> 'a1
    148148    -> 'a1) -> AST.typ -> expr -> 'a1 **)
    149 let rec expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost x_2613 = function
    150 | Id (t, x_2615) -> h_Id t x_2615
    151 | Cst (t, x_2616) -> h_Cst t x_2616
    152 | Op1 (t, t', x_2618, x_2617) ->
    153   h_Op1 t t' x_2618 x_2617
    154     (expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_2617)
    155 | Op2 (t1, t2, t', x_2621, x_2620, x_2619) ->
    156   h_Op2 t1 t2 t' x_2621 x_2620 x_2619
    157     (expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t1 x_2620)
    158     (expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t2 x_2619)
    159 | Mem (t, x_2622) ->
    160   h_Mem t x_2622
     149let rec expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost x_13751 = function
     150| Id (t, x_13753) -> h_Id t x_13753
     151| Cst (t, x_13754) -> h_Cst t x_13754
     152| Op1 (t, t', x_13756, x_13755) ->
     153  h_Op1 t t' x_13756 x_13755
     154    (expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13755)
     155| Op2 (t1, t2, t', x_13759, x_13758, x_13757) ->
     156  h_Op2 t1 t2 t' x_13759 x_13758 x_13757
     157    (expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t1 x_13758)
     158    (expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t2 x_13757)
     159| Mem (t, x_13760) ->
     160  h_Mem t x_13760
    161161    (expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost AST.ASTptr
    162       x_2622)
    163 | Cond (sz, sg, t, x_2625, x_2624, x_2623) ->
    164   h_Cond sz sg t x_2625 x_2624 x_2623
     162      x_13760)
     163| Cond (sz, sg, t, x_13763, x_13762, x_13761) ->
     164  h_Cond sz sg t x_13763 x_13762 x_13761
    165165    (expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost (AST.ASTint
    166       (sz, sg)) x_2625)
    167     (expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_2624)
    168     (expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_2623)
    169 | Ecost (t, x_2627, x_2626) ->
    170   h_Ecost t x_2627 x_2626
    171     (expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_2626)
     166      (sz, sg)) x_13763)
     167    (expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13762)
     168    (expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13761)
     169| Ecost (t, x_13765, x_13764) ->
     170  h_Ecost t x_13765 x_13764
     171    (expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13764)
    172172
    173173(** val expr_rect_Type2 :
     
    179179    -> 'a1 -> 'a1 -> 'a1) -> (AST.typ -> CostLabel.costlabel -> expr -> 'a1
    180180    -> 'a1) -> AST.typ -> expr -> 'a1 **)
    181 let rec expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost x_2635 = function
    182 | Id (t, x_2637) -> h_Id t x_2637
    183 | Cst (t, x_2638) -> h_Cst t x_2638
    184 | Op1 (t, t', x_2640, x_2639) ->
    185   h_Op1 t t' x_2640 x_2639
    186     (expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_2639)
    187 | Op2 (t1, t2, t', x_2643, x_2642, x_2641) ->
    188   h_Op2 t1 t2 t' x_2643 x_2642 x_2641
    189     (expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t1 x_2642)
    190     (expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t2 x_2641)
    191 | Mem (t, x_2644) ->
    192   h_Mem t x_2644
     181let rec expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost x_13773 = function
     182| Id (t, x_13775) -> h_Id t x_13775
     183| Cst (t, x_13776) -> h_Cst t x_13776
     184| Op1 (t, t', x_13778, x_13777) ->
     185  h_Op1 t t' x_13778 x_13777
     186    (expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13777)
     187| Op2 (t1, t2, t', x_13781, x_13780, x_13779) ->
     188  h_Op2 t1 t2 t' x_13781 x_13780 x_13779
     189    (expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t1 x_13780)
     190    (expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t2 x_13779)
     191| Mem (t, x_13782) ->
     192  h_Mem t x_13782
    193193    (expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost AST.ASTptr
    194       x_2644)
    195 | Cond (sz, sg, t, x_2647, x_2646, x_2645) ->
    196   h_Cond sz sg t x_2647 x_2646 x_2645
     194      x_13782)
     195| Cond (sz, sg, t, x_13785, x_13784, x_13783) ->
     196  h_Cond sz sg t x_13785 x_13784 x_13783
    197197    (expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost (AST.ASTint
    198       (sz, sg)) x_2647)
    199     (expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_2646)
    200     (expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_2645)
    201 | Ecost (t, x_2649, x_2648) ->
    202   h_Ecost t x_2649 x_2648
    203     (expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_2648)
     198      (sz, sg)) x_13785)
     199    (expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13784)
     200    (expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13783)
     201| Ecost (t, x_13787, x_13786) ->
     202  h_Ecost t x_13787 x_13786
     203    (expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13786)
    204204
    205205(** val expr_rect_Type1 :
     
    211211    -> 'a1 -> 'a1 -> 'a1) -> (AST.typ -> CostLabel.costlabel -> expr -> 'a1
    212212    -> 'a1) -> AST.typ -> expr -> 'a1 **)
    213 let rec expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost x_2657 = function
    214 | Id (t, x_2659) -> h_Id t x_2659
    215 | Cst (t, x_2660) -> h_Cst t x_2660
    216 | Op1 (t, t', x_2662, x_2661) ->
    217   h_Op1 t t' x_2662 x_2661
    218     (expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_2661)
    219 | Op2 (t1, t2, t', x_2665, x_2664, x_2663) ->
    220   h_Op2 t1 t2 t' x_2665 x_2664 x_2663
    221     (expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t1 x_2664)
    222     (expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t2 x_2663)
    223 | Mem (t, x_2666) ->
    224   h_Mem t x_2666
     213let rec expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost x_13795 = function
     214| Id (t, x_13797) -> h_Id t x_13797
     215| Cst (t, x_13798) -> h_Cst t x_13798
     216| Op1 (t, t', x_13800, x_13799) ->
     217  h_Op1 t t' x_13800 x_13799
     218    (expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13799)
     219| Op2 (t1, t2, t', x_13803, x_13802, x_13801) ->
     220  h_Op2 t1 t2 t' x_13803 x_13802 x_13801
     221    (expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t1 x_13802)
     222    (expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t2 x_13801)
     223| Mem (t, x_13804) ->
     224  h_Mem t x_13804
    225225    (expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost AST.ASTptr
    226       x_2666)
    227 | Cond (sz, sg, t, x_2669, x_2668, x_2667) ->
    228   h_Cond sz sg t x_2669 x_2668 x_2667
     226      x_13804)
     227| Cond (sz, sg, t, x_13807, x_13806, x_13805) ->
     228  h_Cond sz sg t x_13807 x_13806 x_13805
    229229    (expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost (AST.ASTint
    230       (sz, sg)) x_2669)
    231     (expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_2668)
    232     (expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_2667)
    233 | Ecost (t, x_2671, x_2670) ->
    234   h_Ecost t x_2671 x_2670
    235     (expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_2670)
     230      (sz, sg)) x_13807)
     231    (expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13806)
     232    (expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13805)
     233| Ecost (t, x_13809, x_13808) ->
     234  h_Ecost t x_13809 x_13808
     235    (expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13808)
    236236
    237237(** val expr_rect_Type0 :
     
    243243    -> 'a1 -> 'a1 -> 'a1) -> (AST.typ -> CostLabel.costlabel -> expr -> 'a1
    244244    -> 'a1) -> AST.typ -> expr -> 'a1 **)
    245 let rec expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost x_2679 = function
    246 | Id (t, x_2681) -> h_Id t x_2681
    247 | Cst (t, x_2682) -> h_Cst t x_2682
    248 | Op1 (t, t', x_2684, x_2683) ->
    249   h_Op1 t t' x_2684 x_2683
    250     (expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_2683)
    251 | Op2 (t1, t2, t', x_2687, x_2686, x_2685) ->
    252   h_Op2 t1 t2 t' x_2687 x_2686 x_2685
    253     (expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t1 x_2686)
    254     (expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t2 x_2685)
    255 | Mem (t, x_2688) ->
    256   h_Mem t x_2688
     245let rec expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost x_13817 = function
     246| Id (t, x_13819) -> h_Id t x_13819
     247| Cst (t, x_13820) -> h_Cst t x_13820
     248| Op1 (t, t', x_13822, x_13821) ->
     249  h_Op1 t t' x_13822 x_13821
     250    (expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13821)
     251| Op2 (t1, t2, t', x_13825, x_13824, x_13823) ->
     252  h_Op2 t1 t2 t' x_13825 x_13824 x_13823
     253    (expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t1 x_13824)
     254    (expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t2 x_13823)
     255| Mem (t, x_13826) ->
     256  h_Mem t x_13826
    257257    (expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost AST.ASTptr
    258       x_2688)
    259 | Cond (sz, sg, t, x_2691, x_2690, x_2689) ->
    260   h_Cond sz sg t x_2691 x_2690 x_2689
     258      x_13826)
     259| Cond (sz, sg, t, x_13829, x_13828, x_13827) ->
     260  h_Cond sz sg t x_13829 x_13828 x_13827
    261261    (expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost (AST.ASTint
    262       (sz, sg)) x_2691)
    263     (expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_2690)
    264     (expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_2689)
    265 | Ecost (t, x_2693, x_2692) ->
    266   h_Ecost t x_2693 x_2692
    267     (expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_2692)
     262      (sz, sg)) x_13829)
     263    (expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13828)
     264    (expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13827)
     265| Ecost (t, x_13831, x_13830) ->
     266  h_Ecost t x_13831 x_13830
     267    (expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13830)
    268268
    269269(** val expr_inv_rect_Type4 :
     
    377377let rec stmt_rect_Type4 h_St_skip h_St_assign h_St_store h_St_call h_St_seq h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost = function
    378378| St_skip -> h_St_skip
    379 | St_assign (t, x_2864, x_2863) -> h_St_assign t x_2864 x_2863
    380 | St_store (t, x_2866, x_2865) -> h_St_store t x_2866 x_2865
    381 | St_call (x_2869, x_2868, x_2867) -> h_St_call x_2869 x_2868 x_2867
    382 | St_seq (x_2871, x_2870) ->
    383   h_St_seq x_2871 x_2870
     379| St_assign (t, x_14002, x_14001) -> h_St_assign t x_14002 x_14001
     380| St_store (t, x_14004, x_14003) -> h_St_store t x_14004 x_14003
     381| St_call (x_14007, x_14006, x_14005) -> h_St_call x_14007 x_14006 x_14005
     382| St_seq (x_14009, x_14008) ->
     383  h_St_seq x_14009 x_14008
    384384    (stmt_rect_Type4 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    385       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_2871)
     385      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14009)
    386386    (stmt_rect_Type4 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    387       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_2870)
    388 | St_ifthenelse (sz, sg, x_2874, x_2873, x_2872) ->
    389   h_St_ifthenelse sz sg x_2874 x_2873 x_2872
     387      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14008)
     388| St_ifthenelse (sz, sg, x_14012, x_14011, x_14010) ->
     389  h_St_ifthenelse sz sg x_14012 x_14011 x_14010
    390390    (stmt_rect_Type4 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    391       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_2873)
     391      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14011)
    392392    (stmt_rect_Type4 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    393       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_2872)
    394 | St_return x_2875 -> h_St_return x_2875
    395 | St_label (x_2877, x_2876) ->
    396   h_St_label x_2877 x_2876
     393      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14010)
     394| St_return x_14013 -> h_St_return x_14013
     395| St_label (x_14015, x_14014) ->
     396  h_St_label x_14015 x_14014
    397397    (stmt_rect_Type4 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    398       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_2876)
    399 | St_goto x_2878 -> h_St_goto x_2878
    400 | St_cost (x_2880, x_2879) ->
    401   h_St_cost x_2880 x_2879
     398      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14014)
     399| St_goto x_14016 -> h_St_goto x_14016
     400| St_cost (x_14018, x_14017) ->
     401  h_St_cost x_14018 x_14017
    402402    (stmt_rect_Type4 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    403       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_2879)
     403      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14017)
    404404
    405405(** val stmt_rect_Type3 :
     
    414414let rec stmt_rect_Type3 h_St_skip h_St_assign h_St_store h_St_call h_St_seq h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost = function
    415415| St_skip -> h_St_skip
    416 | St_assign (t, x_2922, x_2921) -> h_St_assign t x_2922 x_2921
    417 | St_store (t, x_2924, x_2923) -> h_St_store t x_2924 x_2923
    418 | St_call (x_2927, x_2926, x_2925) -> h_St_call x_2927 x_2926 x_2925
    419 | St_seq (x_2929, x_2928) ->
    420   h_St_seq x_2929 x_2928
     416| St_assign (t, x_14060, x_14059) -> h_St_assign t x_14060 x_14059
     417| St_store (t, x_14062, x_14061) -> h_St_store t x_14062 x_14061
     418| St_call (x_14065, x_14064, x_14063) -> h_St_call x_14065 x_14064 x_14063
     419| St_seq (x_14067, x_14066) ->
     420  h_St_seq x_14067 x_14066
    421421    (stmt_rect_Type3 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    422       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_2929)
     422      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14067)
    423423    (stmt_rect_Type3 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    424       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_2928)
    425 | St_ifthenelse (sz, sg, x_2932, x_2931, x_2930) ->
    426   h_St_ifthenelse sz sg x_2932 x_2931 x_2930
     424      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14066)
     425| St_ifthenelse (sz, sg, x_14070, x_14069, x_14068) ->
     426  h_St_ifthenelse sz sg x_14070 x_14069 x_14068
    427427    (stmt_rect_Type3 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    428       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_2931)
     428      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14069)
    429429    (stmt_rect_Type3 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    430       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_2930)
    431 | St_return x_2933 -> h_St_return x_2933
    432 | St_label (x_2935, x_2934) ->
    433   h_St_label x_2935 x_2934
     430      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14068)
     431| St_return x_14071 -> h_St_return x_14071
     432| St_label (x_14073, x_14072) ->
     433  h_St_label x_14073 x_14072
    434434    (stmt_rect_Type3 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    435       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_2934)
    436 | St_goto x_2936 -> h_St_goto x_2936
    437 | St_cost (x_2938, x_2937) ->
    438   h_St_cost x_2938 x_2937
     435      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14072)
     436| St_goto x_14074 -> h_St_goto x_14074
     437| St_cost (x_14076, x_14075) ->
     438  h_St_cost x_14076 x_14075
    439439    (stmt_rect_Type3 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    440       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_2937)
     440      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14075)
    441441
    442442(** val stmt_rect_Type2 :
     
    451451let rec stmt_rect_Type2 h_St_skip h_St_assign h_St_store h_St_call h_St_seq h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost = function
    452452| St_skip -> h_St_skip
    453 | St_assign (t, x_2951, x_2950) -> h_St_assign t x_2951 x_2950
    454 | St_store (t, x_2953, x_2952) -> h_St_store t x_2953 x_2952
    455 | St_call (x_2956, x_2955, x_2954) -> h_St_call x_2956 x_2955 x_2954
    456 | St_seq (x_2958, x_2957) ->
    457   h_St_seq x_2958 x_2957
     453| St_assign (t, x_14089, x_14088) -> h_St_assign t x_14089 x_14088
     454| St_store (t, x_14091, x_14090) -> h_St_store t x_14091 x_14090
     455| St_call (x_14094, x_14093, x_14092) -> h_St_call x_14094 x_14093 x_14092
     456| St_seq (x_14096, x_14095) ->
     457  h_St_seq x_14096 x_14095
    458458    (stmt_rect_Type2 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    459       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_2958)
     459      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14096)
    460460    (stmt_rect_Type2 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    461       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_2957)
    462 | St_ifthenelse (sz, sg, x_2961, x_2960, x_2959) ->
    463   h_St_ifthenelse sz sg x_2961 x_2960 x_2959
     461      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14095)
     462| St_ifthenelse (sz, sg, x_14099, x_14098, x_14097) ->
     463  h_St_ifthenelse sz sg x_14099 x_14098 x_14097
    464464    (stmt_rect_Type2 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    465       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_2960)
     465      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14098)
    466466    (stmt_rect_Type2 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    467       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_2959)
    468 | St_return x_2962 -> h_St_return x_2962
    469 | St_label (x_2964, x_2963) ->
    470   h_St_label x_2964 x_2963
     467      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14097)
     468| St_return x_14100 -> h_St_return x_14100
     469| St_label (x_14102, x_14101) ->
     470  h_St_label x_14102 x_14101
    471471    (stmt_rect_Type2 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    472       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_2963)
    473 | St_goto x_2965 -> h_St_goto x_2965
    474 | St_cost (x_2967, x_2966) ->
    475   h_St_cost x_2967 x_2966
     472      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14101)
     473| St_goto x_14103 -> h_St_goto x_14103
     474| St_cost (x_14105, x_14104) ->
     475  h_St_cost x_14105 x_14104
    476476    (stmt_rect_Type2 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    477       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_2966)
     477      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14104)
    478478
    479479(** val stmt_rect_Type1 :
     
    488488let rec stmt_rect_Type1 h_St_skip h_St_assign h_St_store h_St_call h_St_seq h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost = function
    489489| St_skip -> h_St_skip
    490 | St_assign (t, x_2980, x_2979) -> h_St_assign t x_2980 x_2979
    491 | St_store (t, x_2982, x_2981) -> h_St_store t x_2982 x_2981
    492 | St_call (x_2985, x_2984, x_2983) -> h_St_call x_2985 x_2984 x_2983
    493 | St_seq (x_2987, x_2986) ->
    494   h_St_seq x_2987 x_2986
     490| St_assign (t, x_14118, x_14117) -> h_St_assign t x_14118 x_14117
     491| St_store (t, x_14120, x_14119) -> h_St_store t x_14120 x_14119
     492| St_call (x_14123, x_14122, x_14121) -> h_St_call x_14123 x_14122 x_14121
     493| St_seq (x_14125, x_14124) ->
     494  h_St_seq x_14125 x_14124
    495495    (stmt_rect_Type1 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    496       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_2987)
     496      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14125)
    497497    (stmt_rect_Type1 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    498       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_2986)
    499 | St_ifthenelse (sz, sg, x_2990, x_2989, x_2988) ->
    500   h_St_ifthenelse sz sg x_2990 x_2989 x_2988
     498      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14124)
     499| St_ifthenelse (sz, sg, x_14128, x_14127, x_14126) ->
     500  h_St_ifthenelse sz sg x_14128 x_14127 x_14126
    501501    (stmt_rect_Type1 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    502       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_2989)
     502      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14127)
    503503    (stmt_rect_Type1 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    504       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_2988)
    505 | St_return x_2991 -> h_St_return x_2991
    506 | St_label (x_2993, x_2992) ->
    507   h_St_label x_2993 x_2992
     504      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14126)
     505| St_return x_14129 -> h_St_return x_14129
     506| St_label (x_14131, x_14130) ->
     507  h_St_label x_14131 x_14130
    508508    (stmt_rect_Type1 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    509       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_2992)
    510 | St_goto x_2994 -> h_St_goto x_2994
    511 | St_cost (x_2996, x_2995) ->
    512   h_St_cost x_2996 x_2995
     509      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14130)
     510| St_goto x_14132 -> h_St_goto x_14132
     511| St_cost (x_14134, x_14133) ->
     512  h_St_cost x_14134 x_14133
    513513    (stmt_rect_Type1 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    514       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_2995)
     514      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14133)
    515515
    516516(** val stmt_rect_Type0 :
     
    525525let rec stmt_rect_Type0 h_St_skip h_St_assign h_St_store h_St_call h_St_seq h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost = function
    526526| St_skip -> h_St_skip
    527 | St_assign (t, x_3009, x_3008) -> h_St_assign t x_3009 x_3008
    528 | St_store (t, x_3011, x_3010) -> h_St_store t x_3011 x_3010
    529 | St_call (x_3014, x_3013, x_3012) -> h_St_call x_3014 x_3013 x_3012
    530 | St_seq (x_3016, x_3015) ->
    531   h_St_seq x_3016 x_3015
     527| St_assign (t, x_14147, x_14146) -> h_St_assign t x_14147 x_14146
     528| St_store (t, x_14149, x_14148) -> h_St_store t x_14149 x_14148
     529| St_call (x_14152, x_14151, x_14150) -> h_St_call x_14152 x_14151 x_14150
     530| St_seq (x_14154, x_14153) ->
     531  h_St_seq x_14154 x_14153
    532532    (stmt_rect_Type0 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    533       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_3016)
     533      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14154)
    534534    (stmt_rect_Type0 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    535       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_3015)
    536 | St_ifthenelse (sz, sg, x_3019, x_3018, x_3017) ->
    537   h_St_ifthenelse sz sg x_3019 x_3018 x_3017
     535      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14153)
     536| St_ifthenelse (sz, sg, x_14157, x_14156, x_14155) ->
     537  h_St_ifthenelse sz sg x_14157 x_14156 x_14155
    538538    (stmt_rect_Type0 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    539       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_3018)
     539      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14156)
    540540    (stmt_rect_Type0 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    541       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_3017)
    542 | St_return x_3020 -> h_St_return x_3020
    543 | St_label (x_3022, x_3021) ->
    544   h_St_label x_3022 x_3021
     541      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14155)
     542| St_return x_14158 -> h_St_return x_14158
     543| St_label (x_14160, x_14159) ->
     544  h_St_label x_14160 x_14159
    545545    (stmt_rect_Type0 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    546       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_3021)
    547 | St_goto x_3023 -> h_St_goto x_3023
    548 | St_cost (x_3025, x_3024) ->
    549   h_St_cost x_3025 x_3024
     546      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14159)
     547| St_goto x_14161 -> h_St_goto x_14161
     548| St_cost (x_14163, x_14162) ->
     549  h_St_cost x_14163 x_14162
    550550    (stmt_rect_Type0 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    551       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_3024)
     551      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14162)
    552552
    553553(** val stmt_inv_rect_Type4 :
     
    763763    (AST.ident, AST.typ) Types.prod List.list -> __ -> Nat.nat -> stmt -> __
    764764    -> 'a1) -> internal_function -> 'a1 **)
    765 let rec internal_function_rect_Type4 h_mk_internal_function x_3320 =
     765let rec internal_function_rect_Type4 h_mk_internal_function x_14458 =
    766766  let { f_return = f_return0; f_params = f_params0; f_vars = f_vars0;
    767     f_stacksize = f_stacksize0; f_body = f_body0 } = x_3320
     767    f_stacksize = f_stacksize0; f_body = f_body0 } = x_14458
    768768  in
    769769  h_mk_internal_function f_return0 f_params0 f_vars0 __ f_stacksize0 f_body0
     
    774774    (AST.ident, AST.typ) Types.prod List.list -> __ -> Nat.nat -> stmt -> __
    775775    -> 'a1) -> internal_function -> 'a1 **)
    776 let rec internal_function_rect_Type5 h_mk_internal_function x_3322 =
     776let rec internal_function_rect_Type5 h_mk_internal_function x_14460 =
    777777  let { f_return = f_return0; f_params = f_params0; f_vars = f_vars0;
    778     f_stacksize = f_stacksize0; f_body = f_body0 } = x_3322
     778    f_stacksize = f_stacksize0; f_body = f_body0 } = x_14460
    779779  in
    780780  h_mk_internal_function f_return0 f_params0 f_vars0 __ f_stacksize0 f_body0
     
    785785    (AST.ident, AST.typ) Types.prod List.list -> __ -> Nat.nat -> stmt -> __
    786786    -> 'a1) -> internal_function -> 'a1 **)
    787 let rec internal_function_rect_Type3 h_mk_internal_function x_3324 =
     787let rec internal_function_rect_Type3 h_mk_internal_function x_14462 =
    788788  let { f_return = f_return0; f_params = f_params0; f_vars = f_vars0;
    789     f_stacksize = f_stacksize0; f_body = f_body0 } = x_3324
     789    f_stacksize = f_stacksize0; f_body = f_body0 } = x_14462
    790790  in
    791791  h_mk_internal_function f_return0 f_params0 f_vars0 __ f_stacksize0 f_body0
     
    796796    (AST.ident, AST.typ) Types.prod List.list -> __ -> Nat.nat -> stmt -> __
    797797    -> 'a1) -> internal_function -> 'a1 **)
    798 let rec internal_function_rect_Type2 h_mk_internal_function x_3326 =
     798let rec internal_function_rect_Type2 h_mk_internal_function x_14464 =
    799799  let { f_return = f_return0; f_params = f_params0; f_vars = f_vars0;
    800     f_stacksize = f_stacksize0; f_body = f_body0 } = x_3326
     800    f_stacksize = f_stacksize0; f_body = f_body0 } = x_14464
    801801  in
    802802  h_mk_internal_function f_return0 f_params0 f_vars0 __ f_stacksize0 f_body0
     
    807807    (AST.ident, AST.typ) Types.prod List.list -> __ -> Nat.nat -> stmt -> __
    808808    -> 'a1) -> internal_function -> 'a1 **)
    809 let rec internal_function_rect_Type1 h_mk_internal_function x_3328 =
     809let rec internal_function_rect_Type1 h_mk_internal_function x_14466 =
    810810  let { f_return = f_return0; f_params = f_params0; f_vars = f_vars0;
    811     f_stacksize = f_stacksize0; f_body = f_body0 } = x_3328
     811    f_stacksize = f_stacksize0; f_body = f_body0 } = x_14466
    812812  in
    813813  h_mk_internal_function f_return0 f_params0 f_vars0 __ f_stacksize0 f_body0
     
    818818    (AST.ident, AST.typ) Types.prod List.list -> __ -> Nat.nat -> stmt -> __
    819819    -> 'a1) -> internal_function -> 'a1 **)
    820 let rec internal_function_rect_Type0 h_mk_internal_function x_3330 =
     820let rec internal_function_rect_Type0 h_mk_internal_function x_14468 =
    821821  let { f_return = f_return0; f_params = f_params0; f_vars = f_vars0;
    822     f_stacksize = f_stacksize0; f_body = f_body0 } = x_3330
     822    f_stacksize = f_stacksize0; f_body = f_body0 } = x_14468
    823823  in
    824824  h_mk_internal_function f_return0 f_params0 f_vars0 __ f_stacksize0 f_body0
  • extracted/compiler.ml

    r2738 r2743  
    167167open CostMisc
    168168
    169 open Listb
     169open Listb_extra
    170170
    171171open CostSpec
  • extracted/compiler.mli

    r2730 r2743  
    167167open CostMisc
    168168
    169 open Listb
     169open Listb_extra
    170170
    171171open CostSpec
  • extracted/costCheck.ml

    r2730 r2743  
    113113open Listb
    114114
    115 open Listb
     115open Listb_extra
    116116
    117117open CostMisc
  • extracted/costCheck.mli

    r2730 r2743  
    113113open Listb
    114114
    115 open Listb
     115open Listb_extra
    116116
    117117open CostMisc
  • extracted/costInj.ml

    r2730 r2743  
    11open Preamble
    22
    3 open Listb
     3open Listb_extra
    44
    55open Executions
  • extracted/costInj.mli

    r2730 r2743  
    11open Preamble
    22
    3 open Listb
     3open Listb_extra
    44
    55open Executions
  • extracted/csem.ml

    r2730 r2743  
    780780let rec cont_rect_Type4 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3 h_Kswitch h_Kcall = function
    781781| Kstop -> h_Kstop
    782 | Kseq (x_6713, x_6712) ->
    783   h_Kseq x_6713 x_6712
     782| Kseq (x_8648, x_8647) ->
     783  h_Kseq x_8648 x_8647
    784784    (cont_rect_Type4 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    785       h_Kswitch h_Kcall x_6712)
    786 | Kwhile (x_6716, x_6715, x_6714) ->
    787   h_Kwhile x_6716 x_6715 x_6714
     785      h_Kswitch h_Kcall x_8647)
     786| Kwhile (x_8651, x_8650, x_8649) ->
     787  h_Kwhile x_8651 x_8650 x_8649
    788788    (cont_rect_Type4 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    789       h_Kswitch h_Kcall x_6714)
    790 | Kdowhile (x_6719, x_6718, x_6717) ->
    791   h_Kdowhile x_6719 x_6718 x_6717
     789      h_Kswitch h_Kcall x_8649)
     790| Kdowhile (x_8654, x_8653, x_8652) ->
     791  h_Kdowhile x_8654 x_8653 x_8652
    792792    (cont_rect_Type4 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    793       h_Kswitch h_Kcall x_6717)
    794 | Kfor2 (x_6723, x_6722, x_6721, x_6720) ->
    795   h_Kfor2 x_6723 x_6722 x_6721 x_6720
     793      h_Kswitch h_Kcall x_8652)
     794| Kfor2 (x_8658, x_8657, x_8656, x_8655) ->
     795  h_Kfor2 x_8658 x_8657 x_8656 x_8655
    796796    (cont_rect_Type4 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    797       h_Kswitch h_Kcall x_6720)
    798 | Kfor3 (x_6727, x_6726, x_6725, x_6724) ->
    799   h_Kfor3 x_6727 x_6726 x_6725 x_6724
     797      h_Kswitch h_Kcall x_8655)
     798| Kfor3 (x_8662, x_8661, x_8660, x_8659) ->
     799  h_Kfor3 x_8662 x_8661 x_8660 x_8659
    800800    (cont_rect_Type4 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    801       h_Kswitch h_Kcall x_6724)
    802 | Kswitch x_6728 ->
    803   h_Kswitch x_6728
     801      h_Kswitch h_Kcall x_8659)
     802| Kswitch x_8663 ->
     803  h_Kswitch x_8663
    804804    (cont_rect_Type4 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    805       h_Kswitch h_Kcall x_6728)
    806 | Kcall (x_6732, x_6731, x_6730, x_6729) ->
    807   h_Kcall x_6732 x_6731 x_6730 x_6729
     805      h_Kswitch h_Kcall x_8663)
     806| Kcall (x_8667, x_8666, x_8665, x_8664) ->
     807  h_Kcall x_8667 x_8666 x_8665 x_8664
    808808    (cont_rect_Type4 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    809       h_Kswitch h_Kcall x_6729)
     809      h_Kswitch h_Kcall x_8664)
    810810
    811811(** val cont_rect_Type3 :
     
    820820let rec cont_rect_Type3 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3 h_Kswitch h_Kcall = function
    821821| Kstop -> h_Kstop
    822 | Kseq (x_6773, x_6772) ->
    823   h_Kseq x_6773 x_6772
     822| Kseq (x_8708, x_8707) ->
     823  h_Kseq x_8708 x_8707
    824824    (cont_rect_Type3 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    825       h_Kswitch h_Kcall x_6772)
    826 | Kwhile (x_6776, x_6775, x_6774) ->
    827   h_Kwhile x_6776 x_6775 x_6774
     825      h_Kswitch h_Kcall x_8707)
     826| Kwhile (x_8711, x_8710, x_8709) ->
     827  h_Kwhile x_8711 x_8710 x_8709
    828828    (cont_rect_Type3 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    829       h_Kswitch h_Kcall x_6774)
    830 | Kdowhile (x_6779, x_6778, x_6777) ->
    831   h_Kdowhile x_6779 x_6778 x_6777
     829      h_Kswitch h_Kcall x_8709)
     830| Kdowhile (x_8714, x_8713, x_8712) ->
     831  h_Kdowhile x_8714 x_8713 x_8712
    832832    (cont_rect_Type3 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    833       h_Kswitch h_Kcall x_6777)
    834 | Kfor2 (x_6783, x_6782, x_6781, x_6780) ->
    835   h_Kfor2 x_6783 x_6782 x_6781 x_6780
     833      h_Kswitch h_Kcall x_8712)
     834| Kfor2 (x_8718, x_8717, x_8716, x_8715) ->
     835  h_Kfor2 x_8718 x_8717 x_8716 x_8715
    836836    (cont_rect_Type3 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    837       h_Kswitch h_Kcall x_6780)
    838 | Kfor3 (x_6787, x_6786, x_6785, x_6784) ->
    839   h_Kfor3 x_6787 x_6786 x_6785 x_6784
     837      h_Kswitch h_Kcall x_8715)
     838| Kfor3 (x_8722, x_8721, x_8720, x_8719) ->
     839  h_Kfor3 x_8722 x_8721 x_8720 x_8719
    840840    (cont_rect_Type3 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    841       h_Kswitch h_Kcall x_6784)
    842 | Kswitch x_6788 ->
    843   h_Kswitch x_6788
     841      h_Kswitch h_Kcall x_8719)
     842| Kswitch x_8723 ->
     843  h_Kswitch x_8723
    844844    (cont_rect_Type3 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    845       h_Kswitch h_Kcall x_6788)
    846 | Kcall (x_6792, x_6791, x_6790, x_6789) ->
    847   h_Kcall x_6792 x_6791 x_6790 x_6789
     845      h_Kswitch h_Kcall x_8723)
     846| Kcall (x_8727, x_8726, x_8725, x_8724) ->
     847  h_Kcall x_8727 x_8726 x_8725 x_8724
    848848    (cont_rect_Type3 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    849       h_Kswitch h_Kcall x_6789)
     849      h_Kswitch h_Kcall x_8724)
    850850
    851851(** val cont_rect_Type2 :
     
    860860let rec cont_rect_Type2 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3 h_Kswitch h_Kcall = function
    861861| Kstop -> h_Kstop
    862 | Kseq (x_6803, x_6802) ->
    863   h_Kseq x_6803 x_6802
     862| Kseq (x_8738, x_8737) ->
     863  h_Kseq x_8738 x_8737
    864864    (cont_rect_Type2 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    865       h_Kswitch h_Kcall x_6802)
    866 | Kwhile (x_6806, x_6805, x_6804) ->
    867   h_Kwhile x_6806 x_6805 x_6804
     865      h_Kswitch h_Kcall x_8737)
     866| Kwhile (x_8741, x_8740, x_8739) ->
     867  h_Kwhile x_8741 x_8740 x_8739
    868868    (cont_rect_Type2 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    869       h_Kswitch h_Kcall x_6804)
    870 | Kdowhile (x_6809, x_6808, x_6807) ->
    871   h_Kdowhile x_6809 x_6808 x_6807
     869      h_Kswitch h_Kcall x_8739)
     870| Kdowhile (x_8744, x_8743, x_8742) ->
     871  h_Kdowhile x_8744 x_8743 x_8742
    872872    (cont_rect_Type2 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    873       h_Kswitch h_Kcall x_6807)
    874 | Kfor2 (x_6813, x_6812, x_6811, x_6810) ->
    875   h_Kfor2 x_6813 x_6812 x_6811 x_6810
     873      h_Kswitch h_Kcall x_8742)
     874| Kfor2 (x_8748, x_8747, x_8746, x_8745) ->
     875  h_Kfor2 x_8748 x_8747 x_8746 x_8745
    876876    (cont_rect_Type2 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    877       h_Kswitch h_Kcall x_6810)
    878 | Kfor3 (x_6817, x_6816, x_6815, x_6814) ->
    879   h_Kfor3 x_6817 x_6816 x_6815 x_6814
     877      h_Kswitch h_Kcall x_8745)
     878| Kfor3 (x_8752, x_8751, x_8750, x_8749) ->
     879  h_Kfor3 x_8752 x_8751 x_8750 x_8749
    880880    (cont_rect_Type2 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    881       h_Kswitch h_Kcall x_6814)
    882 | Kswitch x_6818 ->
    883   h_Kswitch x_6818
     881      h_Kswitch h_Kcall x_8749)
     882| Kswitch x_8753 ->
     883  h_Kswitch x_8753
    884884    (cont_rect_Type2 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    885       h_Kswitch h_Kcall x_6818)
    886 | Kcall (x_6822, x_6821, x_6820, x_6819) ->
    887   h_Kcall x_6822 x_6821 x_6820 x_6819
     885      h_Kswitch h_Kcall x_8753)
     886| Kcall (x_8757, x_8756, x_8755, x_8754) ->
     887  h_Kcall x_8757 x_8756 x_8755 x_8754
    888888    (cont_rect_Type2 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    889       h_Kswitch h_Kcall x_6819)
     889      h_Kswitch h_Kcall x_8754)
    890890
    891891(** val cont_rect_Type1 :
     
    900900let rec cont_rect_Type1 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3 h_Kswitch h_Kcall = function
    901901| Kstop -> h_Kstop
    902 | Kseq (x_6833, x_6832) ->
    903   h_Kseq x_6833 x_6832
     902| Kseq (x_8768, x_8767) ->
     903  h_Kseq x_8768 x_8767
    904904    (cont_rect_Type1 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    905       h_Kswitch h_Kcall x_6832)
    906 | Kwhile (x_6836, x_6835, x_6834) ->
    907   h_Kwhile x_6836 x_6835 x_6834
     905      h_Kswitch h_Kcall x_8767)
     906| Kwhile (x_8771, x_8770, x_8769) ->
     907  h_Kwhile x_8771 x_8770 x_8769
    908908    (cont_rect_Type1 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    909       h_Kswitch h_Kcall x_6834)
    910 | Kdowhile (x_6839, x_6838, x_6837) ->
    911   h_Kdowhile x_6839 x_6838 x_6837
     909      h_Kswitch h_Kcall x_8769)
     910| Kdowhile (x_8774, x_8773, x_8772) ->
     911  h_Kdowhile x_8774 x_8773 x_8772
    912912    (cont_rect_Type1 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    913       h_Kswitch h_Kcall x_6837)
    914 | Kfor2 (x_6843, x_6842, x_6841, x_6840) ->
    915   h_Kfor2 x_6843 x_6842 x_6841 x_6840
     913      h_Kswitch h_Kcall x_8772)
     914| Kfor2 (x_8778, x_8777, x_8776, x_8775) ->
     915  h_Kfor2 x_8778 x_8777 x_8776 x_8775
    916916    (cont_rect_Type1 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    917       h_Kswitch h_Kcall x_6840)
    918 | Kfor3 (x_6847, x_6846, x_6845, x_6844) ->
    919   h_Kfor3 x_6847 x_6846 x_6845 x_6844
     917      h_Kswitch h_Kcall x_8775)
     918| Kfor3 (x_8782, x_8781, x_8780, x_8779) ->
     919  h_Kfor3 x_8782 x_8781 x_8780 x_8779
    920920    (cont_rect_Type1 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    921       h_Kswitch h_Kcall x_6844)
    922 | Kswitch x_6848 ->
    923   h_Kswitch x_6848
     921      h_Kswitch h_Kcall x_8779)
     922| Kswitch x_8783 ->
     923  h_Kswitch x_8783
    924924    (cont_rect_Type1 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    925       h_Kswitch h_Kcall x_6848)
    926 | Kcall (x_6852, x_6851, x_6850, x_6849) ->
    927   h_Kcall x_6852 x_6851 x_6850 x_6849
     925      h_Kswitch h_Kcall x_8783)
     926| Kcall (x_8787, x_8786, x_8785, x_8784) ->
     927  h_Kcall x_8787 x_8786 x_8785 x_8784
    928928    (cont_rect_Type1 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    929       h_Kswitch h_Kcall x_6849)
     929      h_Kswitch h_Kcall x_8784)
    930930
    931931(** val cont_rect_Type0 :
     
    940940let rec cont_rect_Type0 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3 h_Kswitch h_Kcall = function
    941941| Kstop -> h_Kstop
    942 | Kseq (x_6863, x_6862) ->
    943   h_Kseq x_6863 x_6862
     942| Kseq (x_8798, x_8797) ->
     943  h_Kseq x_8798 x_8797
    944944    (cont_rect_Type0 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    945       h_Kswitch h_Kcall x_6862)
    946 | Kwhile (x_6866, x_6865, x_6864) ->
    947   h_Kwhile x_6866 x_6865 x_6864
     945      h_Kswitch h_Kcall x_8797)
     946| Kwhile (x_8801, x_8800, x_8799) ->
     947  h_Kwhile x_8801 x_8800 x_8799
    948948    (cont_rect_Type0 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    949       h_Kswitch h_Kcall x_6864)
    950 | Kdowhile (x_6869, x_6868, x_6867) ->
    951   h_Kdowhile x_6869 x_6868 x_6867
     949      h_Kswitch h_Kcall x_8799)
     950| Kdowhile (x_8804, x_8803, x_8802) ->
     951  h_Kdowhile x_8804 x_8803 x_8802
    952952    (cont_rect_Type0 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    953       h_Kswitch h_Kcall x_6867)
    954 | Kfor2 (x_6873, x_6872, x_6871, x_6870) ->
    955   h_Kfor2 x_6873 x_6872 x_6871 x_6870
     953      h_Kswitch h_Kcall x_8802)
     954| Kfor2 (x_8808, x_8807, x_8806, x_8805) ->
     955  h_Kfor2 x_8808 x_8807 x_8806 x_8805
    956956    (cont_rect_Type0 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    957       h_Kswitch h_Kcall x_6870)
    958 | Kfor3 (x_6877, x_6876, x_6875, x_6874) ->
    959   h_Kfor3 x_6877 x_6876 x_6875 x_6874
     957      h_Kswitch h_Kcall x_8805)
     958| Kfor3 (x_8812, x_8811, x_8810, x_8809) ->
     959  h_Kfor3 x_8812 x_8811 x_8810 x_8809
    960960    (cont_rect_Type0 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    961       h_Kswitch h_Kcall x_6874)
    962 | Kswitch x_6878 ->
    963   h_Kswitch x_6878
     961      h_Kswitch h_Kcall x_8809)
     962| Kswitch x_8813 ->
     963  h_Kswitch x_8813
    964964    (cont_rect_Type0 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    965       h_Kswitch h_Kcall x_6878)
    966 | Kcall (x_6882, x_6881, x_6880, x_6879) ->
    967   h_Kcall x_6882 x_6881 x_6880 x_6879
     965      h_Kswitch h_Kcall x_8813)
     966| Kcall (x_8817, x_8816, x_8815, x_8814) ->
     967  h_Kcall x_8817 x_8816 x_8815 x_8814
    968968    (cont_rect_Type0 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    969       h_Kswitch h_Kcall x_6879)
     969      h_Kswitch h_Kcall x_8814)
    970970
    971971(** val cont_inv_rect_Type4 :
  • extracted/csyntax.ml

    r2730 r2743  
    12051205    (type0 -> (AST.ident, type0) Types.prod List.list -> (AST.ident, type0)
    12061206    Types.prod List.list -> statement -> 'a1) -> function0 -> 'a1 **)
    1207 let rec function_rect_Type4 h_mk_function x_3871 =
     1207let rec function_rect_Type4 h_mk_function x_4443 =
    12081208  let { fn_return = fn_return0; fn_params = fn_params0; fn_vars = fn_vars0;
    1209     fn_body = fn_body0 } = x_3871
     1209    fn_body = fn_body0 } = x_4443
    12101210  in
    12111211  h_mk_function fn_return0 fn_params0 fn_vars0 fn_body0
     
    12141214    (type0 -> (AST.ident, type0) Types.prod List.list -> (AST.ident, type0)
    12151215    Types.prod List.list -> statement -> 'a1) -> function0 -> 'a1 **)
    1216 let rec function_rect_Type5 h_mk_function x_3873 =
     1216let rec function_rect_Type5 h_mk_function x_4445 =
    12171217  let { fn_return = fn_return0; fn_params = fn_params0; fn_vars = fn_vars0;
    1218     fn_body = fn_body0 } = x_3873
     1218    fn_body = fn_body0 } = x_4445
    12191219  in
    12201220  h_mk_function fn_return0 fn_params0 fn_vars0 fn_body0
     
    12231223    (type0 -> (AST.ident, type0) Types.prod List.list -> (AST.ident, type0)
    12241224    Types.prod List.list -> statement -> 'a1) -> function0 -> 'a1 **)
    1225 let rec function_rect_Type3 h_mk_function x_3875 =
     1225let rec function_rect_Type3 h_mk_function x_4447 =
    12261226  let { fn_return = fn_return0; fn_params = fn_params0; fn_vars = fn_vars0;
    1227     fn_body = fn_body0 } = x_3875
     1227    fn_body = fn_body0 } = x_4447
    12281228  in
    12291229  h_mk_function fn_return0 fn_params0 fn_vars0 fn_body0
     
    12321232    (type0 -> (AST.ident, type0) Types.prod List.list -> (AST.ident, type0)
    12331233    Types.prod List.list -> statement -> 'a1) -> function0 -> 'a1 **)
    1234 let rec function_rect_Type2 h_mk_function x_3877 =
     1234let rec function_rect_Type2 h_mk_function x_4449 =
    12351235  let { fn_return = fn_return0; fn_params = fn_params0; fn_vars = fn_vars0;
    1236     fn_body = fn_body0 } = x_3877
     1236    fn_body = fn_body0 } = x_4449
    12371237  in
    12381238  h_mk_function fn_return0 fn_params0 fn_vars0 fn_body0
     
    12411241    (type0 -> (AST.ident, type0) Types.prod List.list -> (AST.ident, type0)
    12421242    Types.prod List.list -> statement -> 'a1) -> function0 -> 'a1 **)
    1243 let rec function_rect_Type1 h_mk_function x_3879 =
     1243let rec function_rect_Type1 h_mk_function x_4451 =
    12441244  let { fn_return = fn_return0; fn_params = fn_params0; fn_vars = fn_vars0;
    1245     fn_body = fn_body0 } = x_3879
     1245    fn_body = fn_body0 } = x_4451
    12461246  in
    12471247  h_mk_function fn_return0 fn_params0 fn_vars0 fn_body0
     
    12501250    (type0 -> (AST.ident, type0) Types.prod List.list -> (AST.ident, type0)
    12511251    Types.prod List.list -> statement -> 'a1) -> function0 -> 'a1 **)
    1252 let rec function_rect_Type0 h_mk_function x_3881 =
     1252let rec function_rect_Type0 h_mk_function x_4453 =
    12531253  let { fn_return = fn_return0; fn_params = fn_params0; fn_vars = fn_vars0;
    1254     fn_body = fn_body0 } = x_3881
     1254    fn_body = fn_body0 } = x_4453
    12551255  in
    12561256  h_mk_function fn_return0 fn_params0 fn_vars0 fn_body0
     
    13241324    clight_fundef -> 'a1 **)
    13251325let rec clight_fundef_rect_Type4 h_CL_Internal h_CL_External = function
    1326 | CL_Internal x_3903 -> h_CL_Internal x_3903
    1327 | CL_External (x_3906, x_3905, x_3904) -> h_CL_External x_3906 x_3905 x_3904
     1326| CL_Internal x_4475 -> h_CL_Internal x_4475
     1327| CL_External (x_4478, x_4477, x_4476) -> h_CL_External x_4478 x_4477 x_4476
    13281328
    13291329(** val clight_fundef_rect_Type5 :
     
    13311331    clight_fundef -> 'a1 **)
    13321332let rec clight_fundef_rect_Type5 h_CL_Internal h_CL_External = function
    1333 | CL_Internal x_3910 -> h_CL_Internal x_3910
    1334 | CL_External (x_3913, x_3912, x_3911) -> h_CL_External x_3913 x_3912 x_3911
     1333| CL_Internal x_4482 -> h_CL_Internal x_4482
     1334| CL_External (x_4485, x_4484, x_4483) -> h_CL_External x_4485 x_4484 x_4483
    13351335
    13361336(** val clight_fundef_rect_Type3 :
     
    13381338    clight_fundef -> 'a1 **)
    13391339let rec clight_fundef_rect_Type3 h_CL_Internal h_CL_External = function
    1340 | CL_Internal x_3917 -> h_CL_Internal x_3917
    1341 | CL_External (x_3920, x_3919, x_3918) -> h_CL_External x_3920 x_3919 x_3918
     1340| CL_Internal x_4489 -> h_CL_Internal x_4489
     1341| CL_External (x_4492, x_4491, x_4490) -> h_CL_External x_4492 x_4491 x_4490
    13421342
    13431343(** val clight_fundef_rect_Type2 :
     
    13451345    clight_fundef -> 'a1 **)
    13461346let rec clight_fundef_rect_Type2 h_CL_Internal h_CL_External = function
    1347 | CL_Internal x_3924 -> h_CL_Internal x_3924
    1348 | CL_External (x_3927, x_3926, x_3925) -> h_CL_External x_3927 x_3926 x_3925
     1347| CL_Internal x_4496 -> h_CL_Internal x_4496
     1348| CL_External (x_4499, x_4498, x_4497) -> h_CL_External x_4499 x_4498 x_4497
    13491349
    13501350(** val clight_fundef_rect_Type1 :
     
    13521352    clight_fundef -> 'a1 **)
    13531353let rec clight_fundef_rect_Type1 h_CL_Internal h_CL_External = function
    1354 | CL_Internal x_3931 -> h_CL_Internal x_3931
    1355 | CL_External (x_3934, x_3933, x_3932) -> h_CL_External x_3934 x_3933 x_3932
     1354| CL_Internal x_4503 -> h_CL_Internal x_4503
     1355| CL_External (x_4506, x_4505, x_4504) -> h_CL_External x_4506 x_4505 x_4504
    13561356
    13571357(** val clight_fundef_rect_Type0 :
     
    13591359    clight_fundef -> 'a1 **)
    13601360let rec clight_fundef_rect_Type0 h_CL_Internal h_CL_External = function
    1361 | CL_Internal x_3938 -> h_CL_Internal x_3938
    1362 | CL_External (x_3941, x_3940, x_3939) -> h_CL_External x_3941 x_3940 x_3939
     1361| CL_Internal x_4510 -> h_CL_Internal x_4510
     1362| CL_External (x_4513, x_4512, x_4511) -> h_CL_External x_4513 x_4512 x_4511
    13631363
    13641364(** val clight_fundef_inv_rect_Type4 :
     
    15351535(** val mode_rect_Type4 :
    15361536    (AST.typ -> 'a1) -> 'a1 -> (AST.typ -> 'a1) -> AST.typ -> mode -> 'a1 **)
    1537 let rec mode_rect_Type4 h_By_value h_By_reference h_By_nothing x_3991 = function
     1537let rec mode_rect_Type4 h_By_value h_By_reference h_By_nothing x_4563 = function
    15381538| By_value t -> h_By_value t
    15391539| By_reference -> h_By_reference
     
    15421542(** val mode_rect_Type5 :
    15431543    (AST.typ -> 'a1) -> 'a1 -> (AST.typ -> 'a1) -> AST.typ -> mode -> 'a1 **)
    1544 let rec mode_rect_Type5 h_By_value h_By_reference h_By_nothing x_3996 = function
     1544let rec mode_rect_Type5 h_By_value h_By_reference h_By_nothing x_4568 = function
    15451545| By_value t -> h_By_value t
    15461546| By_reference -> h_By_reference
     
    15491549(** val mode_rect_Type3 :
    15501550    (AST.typ -> 'a1) -> 'a1 -> (AST.typ -> 'a1) -> AST.typ -> mode -> 'a1 **)
    1551 let rec mode_rect_Type3 h_By_value h_By_reference h_By_nothing x_4001 = function
     1551let rec mode_rect_Type3 h_By_value h_By_reference h_By_nothing x_4573 = function
    15521552| By_value t -> h_By_value t
    15531553| By_reference -> h_By_reference
     
    15561556(** val mode_rect_Type2 :
    15571557    (AST.typ -> 'a1) -> 'a1 -> (AST.typ -> 'a1) -> AST.typ -> mode -> 'a1 **)
    1558 let rec mode_rect_Type2 h_By_value h_By_reference h_By_nothing x_4006 = function
     1558let rec mode_rect_Type2 h_By_value h_By_reference h_By_nothing x_4578 = function
    15591559| By_value t -> h_By_value t
    15601560| By_reference -> h_By_reference
     
    15631563(** val mode_rect_Type1 :
    15641564    (AST.typ -> 'a1) -> 'a1 -> (AST.typ -> 'a1) -> AST.typ -> mode -> 'a1 **)
    1565 let rec mode_rect_Type1 h_By_value h_By_reference h_By_nothing x_4011 = function
     1565let rec mode_rect_Type1 h_By_value h_By_reference h_By_nothing x_4583 = function
    15661566| By_value t -> h_By_value t
    15671567| By_reference -> h_By_reference
     
    15701570(** val mode_rect_Type0 :
    15711571    (AST.typ -> 'a1) -> 'a1 -> (AST.typ -> 'a1) -> AST.typ -> mode -> 'a1 **)
    1572 let rec mode_rect_Type0 h_By_value h_By_reference h_By_nothing x_4016 = function
     1572let rec mode_rect_Type0 h_By_value h_By_reference h_By_nothing x_4588 = function
    15731573| By_value t -> h_By_value t
    15741574| By_reference -> h_By_reference
  • extracted/division.ml

    r2717 r2743  
    2828let rec natp_rect_Type4 h_pzero h_ppos = function
    2929| Pzero -> h_pzero
    30 | Ppos x_4823 -> h_ppos x_4823
     30| Ppos x_4849 -> h_ppos x_4849
    3131
    3232(** val natp_rect_Type5 : 'a1 -> (Positive.pos -> 'a1) -> natp -> 'a1 **)
    3333let rec natp_rect_Type5 h_pzero h_ppos = function
    3434| Pzero -> h_pzero
    35 | Ppos x_4827 -> h_ppos x_4827
     35| Ppos x_4853 -> h_ppos x_4853
    3636
    3737(** val natp_rect_Type3 : 'a1 -> (Positive.pos -> 'a1) -> natp -> 'a1 **)
    3838let rec natp_rect_Type3 h_pzero h_ppos = function
    3939| Pzero -> h_pzero
    40 | Ppos x_4831 -> h_ppos x_4831
     40| Ppos x_4857 -> h_ppos x_4857
    4141
    4242(** val natp_rect_Type2 : 'a1 -> (Positive.pos -> 'a1) -> natp -> 'a1 **)
    4343let rec natp_rect_Type2 h_pzero h_ppos = function
    4444| Pzero -> h_pzero
    45 | Ppos x_4835 -> h_ppos x_4835
     45| Ppos x_4861 -> h_ppos x_4861
    4646
    4747(** val natp_rect_Type1 : 'a1 -> (Positive.pos -> 'a1) -> natp -> 'a1 **)
    4848let rec natp_rect_Type1 h_pzero h_ppos = function
    4949| Pzero -> h_pzero
    50 | Ppos x_4839 -> h_ppos x_4839
     50| Ppos x_4865 -> h_ppos x_4865
    5151
    5252(** val natp_rect_Type0 : 'a1 -> (Positive.pos -> 'a1) -> natp -> 'a1 **)
    5353let rec natp_rect_Type0 h_pzero h_ppos = function
    5454| Pzero -> h_pzero
    55 | Ppos x_4843 -> h_ppos x_4843
     55| Ppos x_4869 -> h_ppos x_4869
    5656
    5757(** val natp_inv_rect_Type4 :
  • extracted/eRTL.ml

    r2730 r2743  
    112112    (Registers.register -> 'a1) -> (I8051.register -> 'a1) -> move_dst -> 'a1 **)
    113113let rec move_dst_rect_Type4 h_PSD h_HDW = function
    114 | PSD x_147 -> h_PSD x_147
    115 | HDW x_148 -> h_HDW x_148
     114| PSD x_20901 -> h_PSD x_20901
     115| HDW x_20902 -> h_HDW x_20902
    116116
    117117(** val move_dst_rect_Type5 :
    118118    (Registers.register -> 'a1) -> (I8051.register -> 'a1) -> move_dst -> 'a1 **)
    119119let rec move_dst_rect_Type5 h_PSD h_HDW = function
    120 | PSD x_152 -> h_PSD x_152
    121 | HDW x_153 -> h_HDW x_153
     120| PSD x_20906 -> h_PSD x_20906
     121| HDW x_20907 -> h_HDW x_20907
    122122
    123123(** val move_dst_rect_Type3 :
    124124    (Registers.register -> 'a1) -> (I8051.register -> 'a1) -> move_dst -> 'a1 **)
    125125let rec move_dst_rect_Type3 h_PSD h_HDW = function
    126 | PSD x_157 -> h_PSD x_157
    127 | HDW x_158 -> h_HDW x_158
     126| PSD x_20911 -> h_PSD x_20911
     127| HDW x_20912 -> h_HDW x_20912
    128128
    129129(** val move_dst_rect_Type2 :
    130130    (Registers.register -> 'a1) -> (I8051.register -> 'a1) -> move_dst -> 'a1 **)
    131131let rec move_dst_rect_Type2 h_PSD h_HDW = function
    132 | PSD x_162 -> h_PSD x_162
    133 | HDW x_163 -> h_HDW x_163
     132| PSD x_20916 -> h_PSD x_20916
     133| HDW x_20917 -> h_HDW x_20917
    134134
    135135(** val move_dst_rect_Type1 :
    136136    (Registers.register -> 'a1) -> (I8051.register -> 'a1) -> move_dst -> 'a1 **)
    137137let rec move_dst_rect_Type1 h_PSD h_HDW = function
    138 | PSD x_167 -> h_PSD x_167
    139 | HDW x_168 -> h_HDW x_168
     138| PSD x_20921 -> h_PSD x_20921
     139| HDW x_20922 -> h_HDW x_20922
    140140
    141141(** val move_dst_rect_Type0 :
    142142    (Registers.register -> 'a1) -> (I8051.register -> 'a1) -> move_dst -> 'a1 **)
    143143let rec move_dst_rect_Type0 h_PSD h_HDW = function
    144 | PSD x_172 -> h_PSD x_172
    145 | HDW x_173 -> h_HDW x_173
     144| PSD x_20926 -> h_PSD x_20926
     145| HDW x_20927 -> h_HDW x_20927
    146146
    147147(** val move_dst_inv_rect_Type4 :
     
    195195  Joint.Reg x
    196196
     197(** val dpi1__o__move_dst_to_src__o__inject :
     198    (move_dst, 'a1) Types.dPair -> move_src Types.sig0 **)
     199let dpi1__o__move_dst_to_src__o__inject x2 =
     200  move_src_from_dst x2.Types.dpi1
     201
     202(** val eject__o__move_dst_to_src__o__inject :
     203    move_dst Types.sig0 -> move_src Types.sig0 **)
     204let eject__o__move_dst_to_src__o__inject x2 =
     205  move_src_from_dst (Types.pi1 x2)
     206
     207(** val move_dst_to_src__o__inject : move_dst -> move_src Types.sig0 **)
     208let move_dst_to_src__o__inject x1 =
     209  move_src_from_dst x1
     210
     211(** val dpi1__o__move_dst_to_src :
     212    (move_dst, 'a1) Types.dPair -> move_src **)
     213let dpi1__o__move_dst_to_src x1 =
     214  move_src_from_dst x1.Types.dpi1
     215
     216(** val eject__o__move_dst_to_src : move_dst Types.sig0 -> move_src **)
     217let eject__o__move_dst_to_src x1 =
     218  move_src_from_dst (Types.pi1 x1)
     219
    197220(** val psd_argument_move_src : Joint.psd_argument -> move_src **)
    198221let psd_argument_move_src = function
    199222| Joint.Reg r -> Joint.Reg (PSD r)
    200223| Joint.Imm b -> Joint.Imm b
     224
     225(** val byte_to_psd_argument__o__psd_argument_to_move_src__o__inject :
     226    BitVector.byte -> move_src Types.sig0 **)
     227let byte_to_psd_argument__o__psd_argument_to_move_src__o__inject x0 =
     228  psd_argument_move_src (Joint.psd_argument_from_byte x0)
     229
     230(** val dpi1__o__byte_to_hdw_argument__o__psd_argument_to_move_src__o__inject :
     231    (BitVector.byte, 'a1) Types.dPair -> move_src Types.sig0 **)
     232let dpi1__o__byte_to_hdw_argument__o__psd_argument_to_move_src__o__inject x2 =
     233  psd_argument_move_src (Joint.dpi1__o__byte_to_hdw_argument x2)
     234
     235(** val dpi1__o__byte_to_psd_argument__o__psd_argument_to_move_src__o__inject :
     236    (BitVector.byte, 'a1) Types.dPair -> move_src Types.sig0 **)
     237let dpi1__o__byte_to_psd_argument__o__psd_argument_to_move_src__o__inject x2 =
     238  psd_argument_move_src (Joint.dpi1__o__byte_to_psd_argument x2)
     239
     240(** val dpi1__o__reg_to_psd_argument__o__psd_argument_to_move_src__o__inject :
     241    (Registers.register, 'a1) Types.dPair -> move_src Types.sig0 **)
     242let dpi1__o__reg_to_psd_argument__o__psd_argument_to_move_src__o__inject x2 =
     243  psd_argument_move_src (Joint.dpi1__o__reg_to_psd_argument x2)
     244
     245(** val eject__o__byte_to_hdw_argument__o__psd_argument_to_move_src__o__inject :
     246    BitVector.byte Types.sig0 -> move_src Types.sig0 **)
     247let eject__o__byte_to_hdw_argument__o__psd_argument_to_move_src__o__inject x2 =
     248  psd_argument_move_src (Joint.eject__o__byte_to_hdw_argument x2)
     249
     250(** val eject__o__byte_to_psd_argument__o__psd_argument_to_move_src__o__inject :
     251    BitVector.byte Types.sig0 -> move_src Types.sig0 **)
     252let eject__o__byte_to_psd_argument__o__psd_argument_to_move_src__o__inject x2 =
     253  psd_argument_move_src (Joint.eject__o__byte_to_psd_argument x2)
     254
     255(** val eject__o__reg_to_psd_argument__o__psd_argument_to_move_src__o__inject :
     256    Registers.register Types.sig0 -> move_src Types.sig0 **)
     257let eject__o__reg_to_psd_argument__o__psd_argument_to_move_src__o__inject x2 =
     258  psd_argument_move_src (Joint.eject__o__reg_to_psd_argument x2)
     259
     260(** val reg_to_psd_argument__o__psd_argument_to_move_src__o__inject :
     261    Registers.register -> move_src Types.sig0 **)
     262let reg_to_psd_argument__o__psd_argument_to_move_src__o__inject x0 =
     263  psd_argument_move_src (Joint.psd_argument_from_reg x0)
     264
     265(** val dpi1__o__psd_argument_to_move_src__o__inject :
     266    (Joint.psd_argument, 'a1) Types.dPair -> move_src Types.sig0 **)
     267let dpi1__o__psd_argument_to_move_src__o__inject x2 =
     268  psd_argument_move_src x2.Types.dpi1
     269
     270(** val eject__o__psd_argument_to_move_src__o__inject :
     271    Joint.psd_argument Types.sig0 -> move_src Types.sig0 **)
     272let eject__o__psd_argument_to_move_src__o__inject x2 =
     273  psd_argument_move_src (Types.pi1 x2)
     274
     275(** val psd_argument_to_move_src__o__inject :
     276    Joint.psd_argument -> move_src Types.sig0 **)
     277let psd_argument_to_move_src__o__inject x1 =
     278  psd_argument_move_src x1
     279
     280(** val byte_to_psd_argument__o__psd_argument_to_move_src :
     281    BitVector.byte -> move_src **)
     282let byte_to_psd_argument__o__psd_argument_to_move_src x0 =
     283  psd_argument_move_src (Joint.psd_argument_from_byte x0)
     284
     285(** val dpi1__o__byte_to_hdw_argument__o__psd_argument_to_move_src :
     286    (BitVector.byte, 'a1) Types.dPair -> move_src **)
     287let dpi1__o__byte_to_hdw_argument__o__psd_argument_to_move_src x1 =
     288  psd_argument_move_src (Joint.dpi1__o__byte_to_hdw_argument x1)
     289
     290(** val dpi1__o__byte_to_psd_argument__o__psd_argument_to_move_src :
     291    (BitVector.byte, 'a1) Types.dPair -> move_src **)
     292let dpi1__o__byte_to_psd_argument__o__psd_argument_to_move_src x1 =
     293  psd_argument_move_src (Joint.dpi1__o__byte_to_psd_argument x1)
     294
     295(** val dpi1__o__reg_to_psd_argument__o__psd_argument_to_move_src :
     296    (Registers.register, 'a1) Types.dPair -> move_src **)
     297let dpi1__o__reg_to_psd_argument__o__psd_argument_to_move_src x1 =
     298  psd_argument_move_src (Joint.dpi1__o__reg_to_psd_argument x1)
     299
     300(** val eject__o__byte_to_hdw_argument__o__psd_argument_to_move_src :
     301    BitVector.byte Types.sig0 -> move_src **)
     302let eject__o__byte_to_hdw_argument__o__psd_argument_to_move_src x1 =
     303  psd_argument_move_src (Joint.eject__o__byte_to_hdw_argument x1)
     304
     305(** val eject__o__byte_to_psd_argument__o__psd_argument_to_move_src :
     306    BitVector.byte Types.sig0 -> move_src **)
     307let eject__o__byte_to_psd_argument__o__psd_argument_to_move_src x1 =
     308  psd_argument_move_src (Joint.eject__o__byte_to_psd_argument x1)
     309
     310(** val eject__o__reg_to_psd_argument__o__psd_argument_to_move_src :
     311    Registers.register Types.sig0 -> move_src **)
     312let eject__o__reg_to_psd_argument__o__psd_argument_to_move_src x1 =
     313  psd_argument_move_src (Joint.eject__o__reg_to_psd_argument x1)
     314
     315(** val reg_to_psd_argument__o__psd_argument_to_move_src :
     316    Registers.register -> move_src **)
     317let reg_to_psd_argument__o__psd_argument_to_move_src x0 =
     318  psd_argument_move_src (Joint.psd_argument_from_reg x0)
     319
     320(** val dpi1__o__psd_argument_to_move_src :
     321    (Joint.psd_argument, 'a1) Types.dPair -> move_src **)
     322let dpi1__o__psd_argument_to_move_src x1 =
     323  psd_argument_move_src x1.Types.dpi1
     324
     325(** val eject__o__psd_argument_to_move_src :
     326    Joint.psd_argument Types.sig0 -> move_src **)
     327let eject__o__psd_argument_to_move_src x1 =
     328  psd_argument_move_src (Types.pi1 x1)
    201329
    202330type ertl_seq =
     
    210338| Ertl_new_frame -> h_ertl_new_frame
    211339| Ertl_del_frame -> h_ertl_del_frame
    212 | Ertl_frame_size x_212 -> h_ertl_frame_size x_212
     340| Ertl_frame_size x_20966 -> h_ertl_frame_size x_20966
    213341
    214342(** val ertl_seq_rect_Type5 :
     
    217345| Ertl_new_frame -> h_ertl_new_frame
    218346| Ertl_del_frame -> h_ertl_del_frame
    219 | Ertl_frame_size x_217 -> h_ertl_frame_size x_217
     347| Ertl_frame_size x_20971 -> h_ertl_frame_size x_20971
    220348
    221349(** val ertl_seq_rect_Type3 :
     
    224352| Ertl_new_frame -> h_ertl_new_frame
    225353| Ertl_del_frame -> h_ertl_del_frame
    226 | Ertl_frame_size x_222 -> h_ertl_frame_size x_222
     354| Ertl_frame_size x_20976 -> h_ertl_frame_size x_20976
    227355
    228356(** val ertl_seq_rect_Type2 :
     
    231359| Ertl_new_frame -> h_ertl_new_frame
    232360| Ertl_del_frame -> h_ertl_del_frame
    233 | Ertl_frame_size x_227 -> h_ertl_frame_size x_227
     361| Ertl_frame_size x_20981 -> h_ertl_frame_size x_20981
    234362
    235363(** val ertl_seq_rect_Type1 :
     
    238366| Ertl_new_frame -> h_ertl_new_frame
    239367| Ertl_del_frame -> h_ertl_del_frame
    240 | Ertl_frame_size x_232 -> h_ertl_frame_size x_232
     368| Ertl_frame_size x_20986 -> h_ertl_frame_size x_20986
    241369
    242370(** val ertl_seq_rect_Type0 :
     
    245373| Ertl_new_frame -> h_ertl_new_frame
    246374| Ertl_del_frame -> h_ertl_del_frame
    247 | Ertl_frame_size x_237 -> h_ertl_frame_size x_237
     375| Ertl_frame_size x_20991 -> h_ertl_frame_size x_20991
    248376
    249377(** val ertl_seq_inv_rect_Type4 :
     
    304432type ertl_program = Joint.joint_program
    305433
     434(** val dpi1__o__reg_to_ertl_snd_argument__o__inject :
     435    (Registers.register, 'a1) Types.dPair -> Joint.psd_argument Types.sig0 **)
     436let dpi1__o__reg_to_ertl_snd_argument__o__inject x2 =
     437  Joint.psd_argument_from_reg x2.Types.dpi1
     438
     439(** val dpi1__o__reg_to_ertl_snd_argument__o__psd_argument_to_move_src__o__inject :
     440    (Registers.register, 'a1) Types.dPair -> move_src Types.sig0 **)
     441let dpi1__o__reg_to_ertl_snd_argument__o__psd_argument_to_move_src__o__inject x2 =
     442  psd_argument_to_move_src__o__inject
     443    (Joint.psd_argument_from_reg x2.Types.dpi1)
     444
     445(** val dpi1__o__reg_to_ertl_snd_argument__o__psd_argument_to_move_src :
     446    (Registers.register, 'a1) Types.dPair -> move_src **)
     447let dpi1__o__reg_to_ertl_snd_argument__o__psd_argument_to_move_src x1 =
     448  psd_argument_move_src (Joint.psd_argument_from_reg x1.Types.dpi1)
     449
     450(** val eject__o__reg_to_ertl_snd_argument__o__inject :
     451    Registers.register Types.sig0 -> Joint.psd_argument Types.sig0 **)
     452let eject__o__reg_to_ertl_snd_argument__o__inject x2 =
     453  Joint.psd_argument_from_reg (Types.pi1 x2)
     454
     455(** val eject__o__reg_to_ertl_snd_argument__o__psd_argument_to_move_src__o__inject :
     456    Registers.register Types.sig0 -> move_src Types.sig0 **)
     457let eject__o__reg_to_ertl_snd_argument__o__psd_argument_to_move_src__o__inject x2 =
     458  psd_argument_to_move_src__o__inject
     459    (Joint.psd_argument_from_reg (Types.pi1 x2))
     460
     461(** val eject__o__reg_to_ertl_snd_argument__o__psd_argument_to_move_src :
     462    Registers.register Types.sig0 -> move_src **)
     463let eject__o__reg_to_ertl_snd_argument__o__psd_argument_to_move_src x1 =
     464  psd_argument_move_src (Joint.psd_argument_from_reg (Types.pi1 x1))
     465
     466(** val reg_to_ertl_snd_argument__o__psd_argument_to_move_src :
     467    Registers.register -> move_src **)
     468let reg_to_ertl_snd_argument__o__psd_argument_to_move_src x0 =
     469  psd_argument_move_src (Joint.psd_argument_from_reg x0)
     470
     471(** val reg_to_ertl_snd_argument__o__psd_argument_to_move_src__o__inject :
     472    Registers.register -> move_src Types.sig0 **)
     473let reg_to_ertl_snd_argument__o__psd_argument_to_move_src__o__inject x1 =
     474  psd_argument_to_move_src__o__inject (Joint.psd_argument_from_reg x1)
     475
     476(** val reg_to_ertl_snd_argument__o__inject :
     477    Registers.register -> Joint.psd_argument Types.sig0 **)
     478let reg_to_ertl_snd_argument__o__inject x1 =
     479  Joint.psd_argument_from_reg x1
     480
     481(** val dpi1__o__reg_to_ertl_snd_argument :
     482    (Registers.register, 'a1) Types.dPair -> Joint.psd_argument **)
     483let dpi1__o__reg_to_ertl_snd_argument x1 =
     484  Joint.psd_argument_from_reg x1.Types.dpi1
     485
     486(** val eject__o__reg_to_ertl_snd_argument :
     487    Registers.register Types.sig0 -> Joint.psd_argument **)
     488let eject__o__reg_to_ertl_snd_argument x1 =
     489  Joint.psd_argument_from_reg (Types.pi1 x1)
     490
     491(** val dpi1__o__byte_to_ertl_snd_argument__o__inject :
     492    (BitVector.byte, 'a1) Types.dPair -> Joint.psd_argument Types.sig0 **)
     493let dpi1__o__byte_to_ertl_snd_argument__o__inject x2 =
     494  Joint.psd_argument_from_byte x2.Types.dpi1
     495
     496(** val dpi1__o__byte_to_ertl_snd_argument__o__psd_argument_to_move_src__o__inject :
     497    (BitVector.byte, 'a1) Types.dPair -> move_src Types.sig0 **)
     498let dpi1__o__byte_to_ertl_snd_argument__o__psd_argument_to_move_src__o__inject x2 =
     499  psd_argument_to_move_src__o__inject
     500    (Joint.psd_argument_from_byte x2.Types.dpi1)
     501
     502(** val dpi1__o__byte_to_ertl_snd_argument__o__psd_argument_to_move_src :
     503    (BitVector.byte, 'a1) Types.dPair -> move_src **)
     504let dpi1__o__byte_to_ertl_snd_argument__o__psd_argument_to_move_src x1 =
     505  psd_argument_move_src (Joint.psd_argument_from_byte x1.Types.dpi1)
     506
     507(** val eject__o__byte_to_ertl_snd_argument__o__inject :
     508    BitVector.byte Types.sig0 -> Joint.psd_argument Types.sig0 **)
     509let eject__o__byte_to_ertl_snd_argument__o__inject x2 =
     510  Joint.psd_argument_from_byte (Types.pi1 x2)
     511
     512(** val eject__o__byte_to_ertl_snd_argument__o__psd_argument_to_move_src__o__inject :
     513    BitVector.byte Types.sig0 -> move_src Types.sig0 **)
     514let eject__o__byte_to_ertl_snd_argument__o__psd_argument_to_move_src__o__inject x2 =
     515  psd_argument_to_move_src__o__inject
     516    (Joint.psd_argument_from_byte (Types.pi1 x2))
     517
     518(** val eject__o__byte_to_ertl_snd_argument__o__psd_argument_to_move_src :
     519    BitVector.byte Types.sig0 -> move_src **)
     520let eject__o__byte_to_ertl_snd_argument__o__psd_argument_to_move_src x1 =
     521  psd_argument_move_src (Joint.psd_argument_from_byte (Types.pi1 x1))
     522
     523(** val byte_to_ertl_snd_argument__o__psd_argument_to_move_src :
     524    BitVector.byte -> move_src **)
     525let byte_to_ertl_snd_argument__o__psd_argument_to_move_src x0 =
     526  psd_argument_move_src (Joint.psd_argument_from_byte x0)
     527
     528(** val byte_to_ertl_snd_argument__o__psd_argument_to_move_src__o__inject :
     529    BitVector.byte -> move_src Types.sig0 **)
     530let byte_to_ertl_snd_argument__o__psd_argument_to_move_src__o__inject x1 =
     531  psd_argument_to_move_src__o__inject (Joint.psd_argument_from_byte x1)
     532
     533(** val byte_to_ertl_snd_argument__o__inject :
     534    BitVector.byte -> Joint.psd_argument Types.sig0 **)
     535let byte_to_ertl_snd_argument__o__inject x1 =
     536  Joint.psd_argument_from_byte x1
     537
     538(** val dpi1__o__byte_to_ertl_snd_argument :
     539    (BitVector.byte, 'a1) Types.dPair -> Joint.psd_argument **)
     540let dpi1__o__byte_to_ertl_snd_argument x1 =
     541  Joint.psd_argument_from_byte x1.Types.dpi1
     542
     543(** val eject__o__byte_to_ertl_snd_argument :
     544    BitVector.byte Types.sig0 -> Joint.psd_argument **)
     545let eject__o__byte_to_ertl_snd_argument x1 =
     546  Joint.psd_argument_from_byte (Types.pi1 x1)
     547
    306548(** val ertl_seq_joint : AST.ident List.list -> __ -> Joint.joint_seq **)
    307549let ertl_seq_joint =
    308550  Obj.magic (fun _ x -> Joint.Extension_seq x)
    309551
    310 let byte_to_ertl_snd_argument__o__psd_argument_to_move_src _ = assert false
     552(** val dpi1__o__ertl_seq_to_joint_seq__o__inject :
     553    AST.ident List.list -> (__, 'a1) Types.dPair -> Joint.joint_seq
     554    Types.sig0 **)
     555let dpi1__o__ertl_seq_to_joint_seq__o__inject x1 x2 =
     556  ertl_seq_joint x1 x2.Types.dpi1
     557
     558(** val dpi1__o__ertl_seq_to_joint_seq__o__seq_to_step__o__inject :
     559    AST.ident List.list -> (__, 'a1) Types.dPair -> Joint.joint_step
     560    Types.sig0 **)
     561let dpi1__o__ertl_seq_to_joint_seq__o__seq_to_step__o__inject x1 x2 =
     562  Joint.seq_to_step__o__inject
     563    (Joint.gp_to_p__o__stmt_pars__o__uns_pars eRTL) x1
     564    (ertl_seq_joint x1 x2.Types.dpi1)
     565
     566(** val dpi1__o__ertl_seq_to_joint_seq__o__seq_to_step :
     567    AST.ident List.list -> (__, 'a1) Types.dPair -> Joint.joint_step **)
     568let dpi1__o__ertl_seq_to_joint_seq__o__seq_to_step x1 x2 =
     569  Joint.Step_seq (ertl_seq_joint x1 x2.Types.dpi1)
     570
     571(** val eject__o__ertl_seq_to_joint_seq__o__inject :
     572    AST.ident List.list -> __ Types.sig0 -> Joint.joint_seq Types.sig0 **)
     573let eject__o__ertl_seq_to_joint_seq__o__inject x1 x2 =
     574  ertl_seq_joint x1 (Types.pi1 x2)
     575
     576(** val eject__o__ertl_seq_to_joint_seq__o__seq_to_step__o__inject :
     577    AST.ident List.list -> __ Types.sig0 -> Joint.joint_step Types.sig0 **)
     578let eject__o__ertl_seq_to_joint_seq__o__seq_to_step__o__inject x1 x2 =
     579  Joint.seq_to_step__o__inject
     580    (Joint.gp_to_p__o__stmt_pars__o__uns_pars eRTL) x1
     581    (ertl_seq_joint x1 (Types.pi1 x2))
     582
     583(** val eject__o__ertl_seq_to_joint_seq__o__seq_to_step :
     584    AST.ident List.list -> __ Types.sig0 -> Joint.joint_step **)
     585let eject__o__ertl_seq_to_joint_seq__o__seq_to_step x1 x2 =
     586  Joint.Step_seq (ertl_seq_joint x1 (Types.pi1 x2))
     587
     588(** val ertl_seq_to_joint_seq__o__seq_to_step :
     589    AST.ident List.list -> __ -> Joint.joint_step **)
     590let ertl_seq_to_joint_seq__o__seq_to_step x0 x1 =
     591  Joint.Step_seq (ertl_seq_joint x0 x1)
     592
     593(** val ertl_seq_to_joint_seq__o__seq_to_step__o__inject :
     594    AST.ident List.list -> __ -> Joint.joint_step Types.sig0 **)
     595let ertl_seq_to_joint_seq__o__seq_to_step__o__inject x0 x1 =
     596  Joint.seq_to_step__o__inject
     597    (Joint.gp_to_p__o__stmt_pars__o__uns_pars eRTL) x0 (ertl_seq_joint x0 x1)
     598
     599(** val ertl_seq_to_joint_seq__o__inject :
     600    AST.ident List.list -> __ -> Joint.joint_seq Types.sig0 **)
     601let ertl_seq_to_joint_seq__o__inject x0 x1 =
     602  ertl_seq_joint x0 x1
     603
     604(** val dpi1__o__ertl_seq_to_joint_seq :
     605    AST.ident List.list -> (__, 'a1) Types.dPair -> Joint.joint_seq **)
     606let dpi1__o__ertl_seq_to_joint_seq x1 x2 =
     607  ertl_seq_joint x1 x2.Types.dpi1
     608
     609(** val eject__o__ertl_seq_to_joint_seq :
     610    AST.ident List.list -> __ Types.sig0 -> Joint.joint_seq **)
     611let eject__o__ertl_seq_to_joint_seq x1 x2 =
     612  ertl_seq_joint x1 (Types.pi1 x2)
     613
  • extracted/eRTL.mli

    r2717 r2743  
    155155val move_src_from_dst : move_dst -> move_src
    156156
     157val dpi1__o__move_dst_to_src__o__inject :
     158  (move_dst, 'a1) Types.dPair -> move_src Types.sig0
     159
     160val eject__o__move_dst_to_src__o__inject :
     161  move_dst Types.sig0 -> move_src Types.sig0
     162
     163val move_dst_to_src__o__inject : move_dst -> move_src Types.sig0
     164
     165val dpi1__o__move_dst_to_src : (move_dst, 'a1) Types.dPair -> move_src
     166
     167val eject__o__move_dst_to_src : move_dst Types.sig0 -> move_src
     168
    157169val psd_argument_move_src : Joint.psd_argument -> move_src
     170
     171val byte_to_psd_argument__o__psd_argument_to_move_src__o__inject :
     172  BitVector.byte -> move_src Types.sig0
     173
     174val dpi1__o__byte_to_hdw_argument__o__psd_argument_to_move_src__o__inject :
     175  (BitVector.byte, 'a1) Types.dPair -> move_src Types.sig0
     176
     177val dpi1__o__byte_to_psd_argument__o__psd_argument_to_move_src__o__inject :
     178  (BitVector.byte, 'a1) Types.dPair -> move_src Types.sig0
     179
     180val dpi1__o__reg_to_psd_argument__o__psd_argument_to_move_src__o__inject :
     181  (Registers.register, 'a1) Types.dPair -> move_src Types.sig0
     182
     183val eject__o__byte_to_hdw_argument__o__psd_argument_to_move_src__o__inject :
     184  BitVector.byte Types.sig0 -> move_src Types.sig0
     185
     186val eject__o__byte_to_psd_argument__o__psd_argument_to_move_src__o__inject :
     187  BitVector.byte Types.sig0 -> move_src Types.sig0
     188
     189val eject__o__reg_to_psd_argument__o__psd_argument_to_move_src__o__inject :
     190  Registers.register Types.sig0 -> move_src Types.sig0
     191
     192val reg_to_psd_argument__o__psd_argument_to_move_src__o__inject :
     193  Registers.register -> move_src Types.sig0
     194
     195val dpi1__o__psd_argument_to_move_src__o__inject :
     196  (Joint.psd_argument, 'a1) Types.dPair -> move_src Types.sig0
     197
     198val eject__o__psd_argument_to_move_src__o__inject :
     199  Joint.psd_argument Types.sig0 -> move_src Types.sig0
     200
     201val psd_argument_to_move_src__o__inject :
     202  Joint.psd_argument -> move_src Types.sig0
     203
     204val byte_to_psd_argument__o__psd_argument_to_move_src :
     205  BitVector.byte -> move_src
     206
     207val dpi1__o__byte_to_hdw_argument__o__psd_argument_to_move_src :
     208  (BitVector.byte, 'a1) Types.dPair -> move_src
     209
     210val dpi1__o__byte_to_psd_argument__o__psd_argument_to_move_src :
     211  (BitVector.byte, 'a1) Types.dPair -> move_src
     212
     213val dpi1__o__reg_to_psd_argument__o__psd_argument_to_move_src :
     214  (Registers.register, 'a1) Types.dPair -> move_src
     215
     216val eject__o__byte_to_hdw_argument__o__psd_argument_to_move_src :
     217  BitVector.byte Types.sig0 -> move_src
     218
     219val eject__o__byte_to_psd_argument__o__psd_argument_to_move_src :
     220  BitVector.byte Types.sig0 -> move_src
     221
     222val eject__o__reg_to_psd_argument__o__psd_argument_to_move_src :
     223  Registers.register Types.sig0 -> move_src
     224
     225val reg_to_psd_argument__o__psd_argument_to_move_src :
     226  Registers.register -> move_src
     227
     228val dpi1__o__psd_argument_to_move_src :
     229  (Joint.psd_argument, 'a1) Types.dPair -> move_src
     230
     231val eject__o__psd_argument_to_move_src :
     232  Joint.psd_argument Types.sig0 -> move_src
    158233
    159234type ertl_seq =
     
    210285type ertl_program = Joint.joint_program
    211286
     287val dpi1__o__reg_to_ertl_snd_argument__o__inject :
     288  (Registers.register, 'a1) Types.dPair -> Joint.psd_argument Types.sig0
     289
     290val dpi1__o__reg_to_ertl_snd_argument__o__psd_argument_to_move_src__o__inject :
     291  (Registers.register, 'a1) Types.dPair -> move_src Types.sig0
     292
     293val dpi1__o__reg_to_ertl_snd_argument__o__psd_argument_to_move_src :
     294  (Registers.register, 'a1) Types.dPair -> move_src
     295
     296val eject__o__reg_to_ertl_snd_argument__o__inject :
     297  Registers.register Types.sig0 -> Joint.psd_argument Types.sig0
     298
     299val eject__o__reg_to_ertl_snd_argument__o__psd_argument_to_move_src__o__inject :
     300  Registers.register Types.sig0 -> move_src Types.sig0
     301
     302val eject__o__reg_to_ertl_snd_argument__o__psd_argument_to_move_src :
     303  Registers.register Types.sig0 -> move_src
     304
     305val reg_to_ertl_snd_argument__o__psd_argument_to_move_src :
     306  Registers.register -> move_src
     307
     308val reg_to_ertl_snd_argument__o__psd_argument_to_move_src__o__inject :
     309  Registers.register -> move_src Types.sig0
     310
     311val reg_to_ertl_snd_argument__o__inject :
     312  Registers.register -> Joint.psd_argument Types.sig0
     313
     314val dpi1__o__reg_to_ertl_snd_argument :
     315  (Registers.register, 'a1) Types.dPair -> Joint.psd_argument
     316
     317val eject__o__reg_to_ertl_snd_argument :
     318  Registers.register Types.sig0 -> Joint.psd_argument
     319
     320val dpi1__o__byte_to_ertl_snd_argument__o__inject :
     321  (BitVector.byte, 'a1) Types.dPair -> Joint.psd_argument Types.sig0
     322
     323val dpi1__o__byte_to_ertl_snd_argument__o__psd_argument_to_move_src__o__inject :
     324  (BitVector.byte, 'a1) Types.dPair -> move_src Types.sig0
     325
     326val dpi1__o__byte_to_ertl_snd_argument__o__psd_argument_to_move_src :
     327  (BitVector.byte, 'a1) Types.dPair -> move_src
     328
     329val eject__o__byte_to_ertl_snd_argument__o__inject :
     330  BitVector.byte Types.sig0 -> Joint.psd_argument Types.sig0
     331
     332val eject__o__byte_to_ertl_snd_argument__o__psd_argument_to_move_src__o__inject :
     333  BitVector.byte Types.sig0 -> move_src Types.sig0
     334
     335val eject__o__byte_to_ertl_snd_argument__o__psd_argument_to_move_src :
     336  BitVector.byte Types.sig0 -> move_src
     337
     338val byte_to_ertl_snd_argument__o__psd_argument_to_move_src :
     339  BitVector.byte -> move_src
     340
     341val byte_to_ertl_snd_argument__o__psd_argument_to_move_src__o__inject :
     342  BitVector.byte -> move_src Types.sig0
     343
     344val byte_to_ertl_snd_argument__o__inject :
     345  BitVector.byte -> Joint.psd_argument Types.sig0
     346
     347val dpi1__o__byte_to_ertl_snd_argument :
     348  (BitVector.byte, 'a1) Types.dPair -> Joint.psd_argument
     349
     350val eject__o__byte_to_ertl_snd_argument :
     351  BitVector.byte Types.sig0 -> Joint.psd_argument
     352
    212353val ertl_seq_joint : AST.ident List.list -> __ -> Joint.joint_seq
    213354
    214 val byte_to_ertl_snd_argument__o__psd_argument_to_move_src : BitVector.byte -> unit
     355val dpi1__o__ertl_seq_to_joint_seq__o__inject :
     356  AST.ident List.list -> (__, 'a1) Types.dPair -> Joint.joint_seq Types.sig0
     357
     358val dpi1__o__ertl_seq_to_joint_seq__o__seq_to_step__o__inject :
     359  AST.ident List.list -> (__, 'a1) Types.dPair -> Joint.joint_step Types.sig0
     360
     361val dpi1__o__ertl_seq_to_joint_seq__o__seq_to_step :
     362  AST.ident List.list -> (__, 'a1) Types.dPair -> Joint.joint_step
     363
     364val eject__o__ertl_seq_to_joint_seq__o__inject :
     365  AST.ident List.list -> __ Types.sig0 -> Joint.joint_seq Types.sig0
     366
     367val eject__o__ertl_seq_to_joint_seq__o__seq_to_step__o__inject :
     368  AST.ident List.list -> __ Types.sig0 -> Joint.joint_step Types.sig0
     369
     370val eject__o__ertl_seq_to_joint_seq__o__seq_to_step :
     371  AST.ident List.list -> __ Types.sig0 -> Joint.joint_step
     372
     373val ertl_seq_to_joint_seq__o__seq_to_step :
     374  AST.ident List.list -> __ -> Joint.joint_step
     375
     376val ertl_seq_to_joint_seq__o__seq_to_step__o__inject :
     377  AST.ident List.list -> __ -> Joint.joint_step Types.sig0
     378
     379val ertl_seq_to_joint_seq__o__inject :
     380  AST.ident List.list -> __ -> Joint.joint_seq Types.sig0
     381
     382val dpi1__o__ertl_seq_to_joint_seq :
     383  AST.ident List.list -> (__, 'a1) Types.dPair -> Joint.joint_seq
     384
     385val eject__o__ertl_seq_to_joint_seq :
     386  AST.ident List.list -> __ Types.sig0 -> Joint.joint_seq
     387
  • extracted/eRTLptr.ml

    r2730 r2743  
    116116    (Registers.register -> Graphs.label -> 'a1) -> ertlptr_seq -> 'a1 **)
    117117let rec ertlptr_seq_rect_Type4 h_ertlptr_ertl h_LOW_ADDRESS h_HIGH_ADDRESS = function
    118 | Ertlptr_ertl x_281 -> h_ertlptr_ertl x_281
    119 | LOW_ADDRESS (x_283, x_282) -> h_LOW_ADDRESS x_283 x_282
    120 | HIGH_ADDRESS (x_285, x_284) -> h_HIGH_ADDRESS x_285 x_284
     118| Ertlptr_ertl x_21035 -> h_ertlptr_ertl x_21035
     119| LOW_ADDRESS (x_21037, x_21036) -> h_LOW_ADDRESS x_21037 x_21036
     120| HIGH_ADDRESS (x_21039, x_21038) -> h_HIGH_ADDRESS x_21039 x_21038
    121121
    122122(** val ertlptr_seq_rect_Type5 :
     
    124124    (Registers.register -> Graphs.label -> 'a1) -> ertlptr_seq -> 'a1 **)
    125125let rec ertlptr_seq_rect_Type5 h_ertlptr_ertl h_LOW_ADDRESS h_HIGH_ADDRESS = function
    126 | Ertlptr_ertl x_290 -> h_ertlptr_ertl x_290
    127 | LOW_ADDRESS (x_292, x_291) -> h_LOW_ADDRESS x_292 x_291
    128 | HIGH_ADDRESS (x_294, x_293) -> h_HIGH_ADDRESS x_294 x_293
     126| Ertlptr_ertl x_21044 -> h_ertlptr_ertl x_21044
     127| LOW_ADDRESS (x_21046, x_21045) -> h_LOW_ADDRESS x_21046 x_21045
     128| HIGH_ADDRESS (x_21048, x_21047) -> h_HIGH_ADDRESS x_21048 x_21047
    129129
    130130(** val ertlptr_seq_rect_Type3 :
     
    132132    (Registers.register -> Graphs.label -> 'a1) -> ertlptr_seq -> 'a1 **)
    133133let rec ertlptr_seq_rect_Type3 h_ertlptr_ertl h_LOW_ADDRESS h_HIGH_ADDRESS = function
    134 | Ertlptr_ertl x_299 -> h_ertlptr_ertl x_299
    135 | LOW_ADDRESS (x_301, x_300) -> h_LOW_ADDRESS x_301 x_300
    136 | HIGH_ADDRESS (x_303, x_302) -> h_HIGH_ADDRESS x_303 x_302
     134| Ertlptr_ertl x_21053 -> h_ertlptr_ertl x_21053
     135| LOW_ADDRESS (x_21055, x_21054) -> h_LOW_ADDRESS x_21055 x_21054
     136| HIGH_ADDRESS (x_21057, x_21056) -> h_HIGH_ADDRESS x_21057 x_21056
    137137
    138138(** val ertlptr_seq_rect_Type2 :
     
    140140    (Registers.register -> Graphs.label -> 'a1) -> ertlptr_seq -> 'a1 **)
    141141let rec ertlptr_seq_rect_Type2 h_ertlptr_ertl h_LOW_ADDRESS h_HIGH_ADDRESS = function
    142 | Ertlptr_ertl x_308 -> h_ertlptr_ertl x_308
    143 | LOW_ADDRESS (x_310, x_309) -> h_LOW_ADDRESS x_310 x_309
    144 | HIGH_ADDRESS (x_312, x_311) -> h_HIGH_ADDRESS x_312 x_311
     142| Ertlptr_ertl x_21062 -> h_ertlptr_ertl x_21062
     143| LOW_ADDRESS (x_21064, x_21063) -> h_LOW_ADDRESS x_21064 x_21063
     144| HIGH_ADDRESS (x_21066, x_21065) -> h_HIGH_ADDRESS x_21066 x_21065
    145145
    146146(** val ertlptr_seq_rect_Type1 :
     
    148148    (Registers.register -> Graphs.label -> 'a1) -> ertlptr_seq -> 'a1 **)
    149149let rec ertlptr_seq_rect_Type1 h_ertlptr_ertl h_LOW_ADDRESS h_HIGH_ADDRESS = function
    150 | Ertlptr_ertl x_317 -> h_ertlptr_ertl x_317
    151 | LOW_ADDRESS (x_319, x_318) -> h_LOW_ADDRESS x_319 x_318
    152 | HIGH_ADDRESS (x_321, x_320) -> h_HIGH_ADDRESS x_321 x_320
     150| Ertlptr_ertl x_21071 -> h_ertlptr_ertl x_21071
     151| LOW_ADDRESS (x_21073, x_21072) -> h_LOW_ADDRESS x_21073 x_21072
     152| HIGH_ADDRESS (x_21075, x_21074) -> h_HIGH_ADDRESS x_21075 x_21074
    153153
    154154(** val ertlptr_seq_rect_Type0 :
     
    156156    (Registers.register -> Graphs.label -> 'a1) -> ertlptr_seq -> 'a1 **)
    157157let rec ertlptr_seq_rect_Type0 h_ertlptr_ertl h_LOW_ADDRESS h_HIGH_ADDRESS = function
    158 | Ertlptr_ertl x_326 -> h_ertlptr_ertl x_326
    159 | LOW_ADDRESS (x_328, x_327) -> h_LOW_ADDRESS x_328 x_327
    160 | HIGH_ADDRESS (x_330, x_329) -> h_HIGH_ADDRESS x_330 x_329
     158| Ertlptr_ertl x_21080 -> h_ertlptr_ertl x_21080
     159| LOW_ADDRESS (x_21082, x_21081) -> h_LOW_ADDRESS x_21082 x_21081
     160| HIGH_ADDRESS (x_21084, x_21083) -> h_HIGH_ADDRESS x_21084 x_21083
    161161
    162162(** val ertlptr_seq_inv_rect_Type4 :
     
    230230  Obj.magic (fun _ x -> Joint.Extension_seq x)
    231231
     232(** val dpi1__o__ertlptr_seq_to_joint_seq__o__inject :
     233    AST.ident List.list -> (__, 'a1) Types.dPair -> Joint.joint_seq
     234    Types.sig0 **)
     235let dpi1__o__ertlptr_seq_to_joint_seq__o__inject x1 x2 =
     236  ertlptr_seq_joint x1 x2.Types.dpi1
     237
     238(** val dpi1__o__ertlptr_seq_to_joint_seq__o__seq_to_step__o__inject :
     239    AST.ident List.list -> (__, 'a1) Types.dPair -> Joint.joint_step
     240    Types.sig0 **)
     241let dpi1__o__ertlptr_seq_to_joint_seq__o__seq_to_step__o__inject x1 x2 =
     242  Joint.seq_to_step__o__inject
     243    (Joint.gp_to_p__o__stmt_pars__o__uns_pars eRTLptr) x1
     244    (ertlptr_seq_joint x1 x2.Types.dpi1)
     245
     246(** val dpi1__o__ertlptr_seq_to_joint_seq__o__seq_to_step :
     247    AST.ident List.list -> (__, 'a1) Types.dPair -> Joint.joint_step **)
     248let dpi1__o__ertlptr_seq_to_joint_seq__o__seq_to_step x1 x2 =
     249  Joint.Step_seq (ertlptr_seq_joint x1 x2.Types.dpi1)
     250
     251(** val eject__o__ertlptr_seq_to_joint_seq__o__inject :
     252    AST.ident List.list -> __ Types.sig0 -> Joint.joint_seq Types.sig0 **)
     253let eject__o__ertlptr_seq_to_joint_seq__o__inject x1 x2 =
     254  ertlptr_seq_joint x1 (Types.pi1 x2)
     255
     256(** val eject__o__ertlptr_seq_to_joint_seq__o__seq_to_step__o__inject :
     257    AST.ident List.list -> __ Types.sig0 -> Joint.joint_step Types.sig0 **)
     258let eject__o__ertlptr_seq_to_joint_seq__o__seq_to_step__o__inject x1 x2 =
     259  Joint.seq_to_step__o__inject
     260    (Joint.gp_to_p__o__stmt_pars__o__uns_pars eRTLptr) x1
     261    (ertlptr_seq_joint x1 (Types.pi1 x2))
     262
     263(** val eject__o__ertlptr_seq_to_joint_seq__o__seq_to_step :
     264    AST.ident List.list -> __ Types.sig0 -> Joint.joint_step **)
     265let eject__o__ertlptr_seq_to_joint_seq__o__seq_to_step x1 x2 =
     266  Joint.Step_seq (ertlptr_seq_joint x1 (Types.pi1 x2))
     267
     268(** val ertlptr_seq_to_joint_seq__o__seq_to_step :
     269    AST.ident List.list -> __ -> Joint.joint_step **)
     270let ertlptr_seq_to_joint_seq__o__seq_to_step x0 x1 =
     271  Joint.Step_seq (ertlptr_seq_joint x0 x1)
     272
     273(** val ertlptr_seq_to_joint_seq__o__seq_to_step__o__inject :
     274    AST.ident List.list -> __ -> Joint.joint_step Types.sig0 **)
     275let ertlptr_seq_to_joint_seq__o__seq_to_step__o__inject x0 x1 =
     276  Joint.seq_to_step__o__inject
     277    (Joint.gp_to_p__o__stmt_pars__o__uns_pars eRTLptr) x0
     278    (ertlptr_seq_joint x0 x1)
     279
     280(** val ertlptr_seq_to_joint_seq__o__inject :
     281    AST.ident List.list -> __ -> Joint.joint_seq Types.sig0 **)
     282let ertlptr_seq_to_joint_seq__o__inject x0 x1 =
     283  ertlptr_seq_joint x0 x1
     284
     285(** val dpi1__o__ertlptr_seq_to_joint_seq :
     286    AST.ident List.list -> (__, 'a1) Types.dPair -> Joint.joint_seq **)
     287let dpi1__o__ertlptr_seq_to_joint_seq x1 x2 =
     288  ertlptr_seq_joint x1 x2.Types.dpi1
     289
     290(** val eject__o__ertlptr_seq_to_joint_seq :
     291    AST.ident List.list -> __ Types.sig0 -> Joint.joint_seq **)
     292let eject__o__ertlptr_seq_to_joint_seq x1 x2 =
     293  ertlptr_seq_joint x1 (Types.pi1 x2)
     294
  • extracted/eRTLptr.mli

    r2717 r2743  
    173173val ertlptr_seq_joint : AST.ident List.list -> __ -> Joint.joint_seq
    174174
     175val dpi1__o__ertlptr_seq_to_joint_seq__o__inject :
     176  AST.ident List.list -> (__, 'a1) Types.dPair -> Joint.joint_seq Types.sig0
     177
     178val dpi1__o__ertlptr_seq_to_joint_seq__o__seq_to_step__o__inject :
     179  AST.ident List.list -> (__, 'a1) Types.dPair -> Joint.joint_step Types.sig0
     180
     181val dpi1__o__ertlptr_seq_to_joint_seq__o__seq_to_step :
     182  AST.ident List.list -> (__, 'a1) Types.dPair -> Joint.joint_step
     183
     184val eject__o__ertlptr_seq_to_joint_seq__o__inject :
     185  AST.ident List.list -> __ Types.sig0 -> Joint.joint_seq Types.sig0
     186
     187val eject__o__ertlptr_seq_to_joint_seq__o__seq_to_step__o__inject :
     188  AST.ident List.list -> __ Types.sig0 -> Joint.joint_step Types.sig0
     189
     190val eject__o__ertlptr_seq_to_joint_seq__o__seq_to_step :
     191  AST.ident List.list -> __ Types.sig0 -> Joint.joint_step
     192
     193val ertlptr_seq_to_joint_seq__o__seq_to_step :
     194  AST.ident List.list -> __ -> Joint.joint_step
     195
     196val ertlptr_seq_to_joint_seq__o__seq_to_step__o__inject :
     197  AST.ident List.list -> __ -> Joint.joint_step Types.sig0
     198
     199val ertlptr_seq_to_joint_seq__o__inject :
     200  AST.ident List.list -> __ -> Joint.joint_seq Types.sig0
     201
     202val dpi1__o__ertlptr_seq_to_joint_seq :
     203  AST.ident List.list -> (__, 'a1) Types.dPair -> Joint.joint_seq
     204
     205val eject__o__ertlptr_seq_to_joint_seq :
     206  AST.ident List.list -> __ Types.sig0 -> Joint.joint_seq
     207
  • extracted/eRTLptrToLTL.ml

    r2740 r2743  
    132132
    133133open TranslateUtils
     134
     135(** val dpi1__o__Reg_to_dec__o__inject :
     136    (I8051.register, 'a1) Types.dPair -> Interference.decision Types.sig0 **)
     137let dpi1__o__Reg_to_dec__o__inject x2 =
     138  Interference.Decision_colour x2.Types.dpi1
     139
     140(** val eject__o__Reg_to_dec__o__inject :
     141    I8051.register Types.sig0 -> Interference.decision Types.sig0 **)
     142let eject__o__Reg_to_dec__o__inject x2 =
     143  Interference.Decision_colour (Types.pi1 x2)
     144
     145(** val reg_to_dec__o__inject :
     146    I8051.register -> Interference.decision Types.sig0 **)
     147let reg_to_dec__o__inject x1 =
     148  Interference.Decision_colour x1
     149
     150(** val dpi1__o__Reg_to_dec :
     151    (I8051.register, 'a1) Types.dPair -> Interference.decision **)
     152let dpi1__o__Reg_to_dec x1 =
     153  Interference.Decision_colour x1.Types.dpi1
     154
     155(** val eject__o__Reg_to_dec :
     156    I8051.register Types.sig0 -> Interference.decision **)
     157let eject__o__Reg_to_dec x1 =
     158  Interference.Decision_colour (Types.pi1 x1)
    134159
    135160type arg_decision =
     
    142167    arg_decision -> 'a1 **)
    143168let rec arg_decision_rect_Type4 h_arg_decision_colour h_arg_decision_spill h_arg_decision_imm = function
    144 | Arg_decision_colour x_492 -> h_arg_decision_colour x_492
    145 | Arg_decision_spill x_493 -> h_arg_decision_spill x_493
    146 | Arg_decision_imm x_494 -> h_arg_decision_imm x_494
     169| Arg_decision_colour x_21681 -> h_arg_decision_colour x_21681
     170| Arg_decision_spill x_21682 -> h_arg_decision_spill x_21682
     171| Arg_decision_imm x_21683 -> h_arg_decision_imm x_21683
    147172
    148173(** val arg_decision_rect_Type5 :
     
    150175    arg_decision -> 'a1 **)
    151176let rec arg_decision_rect_Type5 h_arg_decision_colour h_arg_decision_spill h_arg_decision_imm = function
    152 | Arg_decision_colour x_499 -> h_arg_decision_colour x_499
    153 | Arg_decision_spill x_500 -> h_arg_decision_spill x_500
    154 | Arg_decision_imm x_501 -> h_arg_decision_imm x_501
     177| Arg_decision_colour x_21688 -> h_arg_decision_colour x_21688
     178| Arg_decision_spill x_21689 -> h_arg_decision_spill x_21689
     179| Arg_decision_imm x_21690 -> h_arg_decision_imm x_21690
    155180
    156181(** val arg_decision_rect_Type3 :
     
    158183    arg_decision -> 'a1 **)
    159184let rec arg_decision_rect_Type3 h_arg_decision_colour h_arg_decision_spill h_arg_decision_imm = function
    160 | Arg_decision_colour x_506 -> h_arg_decision_colour x_506
    161 | Arg_decision_spill x_507 -> h_arg_decision_spill x_507
    162 | Arg_decision_imm x_508 -> h_arg_decision_imm x_508
     185| Arg_decision_colour x_21695 -> h_arg_decision_colour x_21695
     186| Arg_decision_spill x_21696 -> h_arg_decision_spill x_21696
     187| Arg_decision_imm x_21697 -> h_arg_decision_imm x_21697
    163188
    164189(** val arg_decision_rect_Type2 :
     
    166191    arg_decision -> 'a1 **)
    167192let rec arg_decision_rect_Type2 h_arg_decision_colour h_arg_decision_spill h_arg_decision_imm = function
    168 | Arg_decision_colour x_513 -> h_arg_decision_colour x_513
    169 | Arg_decision_spill x_514 -> h_arg_decision_spill x_514
    170 | Arg_decision_imm x_515 -> h_arg_decision_imm x_515
     193| Arg_decision_colour x_21702 -> h_arg_decision_colour x_21702
     194| Arg_decision_spill x_21703 -> h_arg_decision_spill x_21703
     195| Arg_decision_imm x_21704 -> h_arg_decision_imm x_21704
    171196
    172197(** val arg_decision_rect_Type1 :
     
    174199    arg_decision -> 'a1 **)
    175200let rec arg_decision_rect_Type1 h_arg_decision_colour h_arg_decision_spill h_arg_decision_imm = function
    176 | Arg_decision_colour x_520 -> h_arg_decision_colour x_520
    177 | Arg_decision_spill x_521 -> h_arg_decision_spill x_521
    178 | Arg_decision_imm x_522 -> h_arg_decision_imm x_522
     201| Arg_decision_colour x_21709 -> h_arg_decision_colour x_21709
     202| Arg_decision_spill x_21710 -> h_arg_decision_spill x_21710
     203| Arg_decision_imm x_21711 -> h_arg_decision_imm x_21711
    179204
    180205(** val arg_decision_rect_Type0 :
     
    182207    arg_decision -> 'a1 **)
    183208let rec arg_decision_rect_Type0 h_arg_decision_colour h_arg_decision_spill h_arg_decision_imm = function
    184 | Arg_decision_colour x_527 -> h_arg_decision_colour x_527
    185 | Arg_decision_spill x_528 -> h_arg_decision_spill x_528
    186 | Arg_decision_imm x_529 -> h_arg_decision_imm x_529
     209| Arg_decision_colour x_21716 -> h_arg_decision_colour x_21716
     210| Arg_decision_spill x_21717 -> h_arg_decision_spill x_21717
     211| Arg_decision_imm x_21718 -> h_arg_decision_imm x_21718
    187212
    188213(** val arg_decision_inv_rect_Type4 :
     
    231256     | Arg_decision_spill a0 -> Obj.magic (fun _ dH -> dH __)
    232257     | Arg_decision_imm a0 -> Obj.magic (fun _ dH -> dH __)) y
     258
     259(** val dpi1__o__Reg_to_arg_dec__o__inject :
     260    (I8051.register, 'a1) Types.dPair -> arg_decision Types.sig0 **)
     261let dpi1__o__Reg_to_arg_dec__o__inject x2 =
     262  Arg_decision_colour x2.Types.dpi1
     263
     264(** val eject__o__Reg_to_arg_dec__o__inject :
     265    I8051.register Types.sig0 -> arg_decision Types.sig0 **)
     266let eject__o__Reg_to_arg_dec__o__inject x2 =
     267  Arg_decision_colour (Types.pi1 x2)
     268
     269(** val reg_to_arg_dec__o__inject :
     270    I8051.register -> arg_decision Types.sig0 **)
     271let reg_to_arg_dec__o__inject x1 =
     272  Arg_decision_colour x1
     273
     274(** val dpi1__o__Reg_to_arg_dec :
     275    (I8051.register, 'a1) Types.dPair -> arg_decision **)
     276let dpi1__o__Reg_to_arg_dec x1 =
     277  Arg_decision_colour x1.Types.dpi1
     278
     279(** val eject__o__Reg_to_arg_dec :
     280    I8051.register Types.sig0 -> arg_decision **)
     281let eject__o__Reg_to_arg_dec x1 =
     282  Arg_decision_colour (Types.pi1 x1)
    233283
    234284(** val preserve_carry_bit :
     
    246296let a =
    247297  Types.It
     298
     299(** val dpi1__o__beval_of_byte__o__inject :
     300    (BitVector.byte, 'a1) Types.dPair -> ByteValues.beval Types.sig0 **)
     301let dpi1__o__beval_of_byte__o__inject x2 =
     302  ByteValues.BVByte x2.Types.dpi1
     303
     304(** val eject__o__beval_of_byte__o__inject :
     305    BitVector.byte Types.sig0 -> ByteValues.beval Types.sig0 **)
     306let eject__o__beval_of_byte__o__inject x2 =
     307  ByteValues.BVByte (Types.pi1 x2)
     308
     309(** val beval_of_byte__o__inject :
     310    BitVector.byte -> ByteValues.beval Types.sig0 **)
     311let beval_of_byte__o__inject x1 =
     312  ByteValues.BVByte x1
     313
     314(** val dpi1__o__beval_of_byte :
     315    (BitVector.byte, 'a1) Types.dPair -> ByteValues.beval **)
     316let dpi1__o__beval_of_byte x1 =
     317  ByteValues.BVByte x1.Types.dpi1
     318
     319(** val eject__o__beval_of_byte :
     320    BitVector.byte Types.sig0 -> ByteValues.beval **)
     321let eject__o__beval_of_byte x1 =
     322  ByteValues.BVByte (Types.pi1 x1)
    248323
    249324(** val set_dp_by_offset :
     
    514589| Interference.Decision_colour r -> Arg_decision_colour r
    515590
     591(** val reg_to_dec__o__dec_arg_dec__o__inject :
     592    I8051.register -> arg_decision Types.sig0 **)
     593let reg_to_dec__o__dec_arg_dec__o__inject x0 =
     594  dec_to_arg_dec (Interference.Decision_colour x0)
     595
     596(** val dpi1__o__Reg_to_dec__o__dec_arg_dec__o__inject :
     597    (I8051.register, 'a1) Types.dPair -> arg_decision Types.sig0 **)
     598let dpi1__o__Reg_to_dec__o__dec_arg_dec__o__inject x2 =
     599  dec_to_arg_dec (dpi1__o__Reg_to_dec x2)
     600
     601(** val eject__o__Reg_to_dec__o__dec_arg_dec__o__inject :
     602    I8051.register Types.sig0 -> arg_decision Types.sig0 **)
     603let eject__o__Reg_to_dec__o__dec_arg_dec__o__inject x2 =
     604  dec_to_arg_dec (eject__o__Reg_to_dec x2)
     605
     606(** val dpi1__o__dec_arg_dec__o__inject :
     607    (Interference.decision, 'a1) Types.dPair -> arg_decision Types.sig0 **)
     608let dpi1__o__dec_arg_dec__o__inject x2 =
     609  dec_to_arg_dec x2.Types.dpi1
     610
     611(** val eject__o__dec_arg_dec__o__inject :
     612    Interference.decision Types.sig0 -> arg_decision Types.sig0 **)
     613let eject__o__dec_arg_dec__o__inject x2 =
     614  dec_to_arg_dec (Types.pi1 x2)
     615
     616(** val dec_arg_dec__o__inject :
     617    Interference.decision -> arg_decision Types.sig0 **)
     618let dec_arg_dec__o__inject x1 =
     619  dec_to_arg_dec x1
     620
     621(** val reg_to_dec__o__dec_arg_dec : I8051.register -> arg_decision **)
     622let reg_to_dec__o__dec_arg_dec x0 =
     623  dec_to_arg_dec (Interference.Decision_colour x0)
     624
     625(** val dpi1__o__Reg_to_dec__o__dec_arg_dec :
     626    (I8051.register, 'a1) Types.dPair -> arg_decision **)
     627let dpi1__o__Reg_to_dec__o__dec_arg_dec x1 =
     628  dec_to_arg_dec (dpi1__o__Reg_to_dec x1)
     629
     630(** val eject__o__Reg_to_dec__o__dec_arg_dec :
     631    I8051.register Types.sig0 -> arg_decision **)
     632let eject__o__Reg_to_dec__o__dec_arg_dec x1 =
     633  dec_to_arg_dec (eject__o__Reg_to_dec x1)
     634
     635(** val dpi1__o__dec_arg_dec :
     636    (Interference.decision, 'a1) Types.dPair -> arg_decision **)
     637let dpi1__o__dec_arg_dec x1 =
     638  dec_to_arg_dec x1.Types.dpi1
     639
     640(** val eject__o__dec_arg_dec :
     641    Interference.decision Types.sig0 -> arg_decision **)
     642let eject__o__dec_arg_dec x1 =
     643  dec_to_arg_dec (Types.pi1 x1)
     644
    516645(** val translate_op1 :
    517646    AST.ident List.list -> Bool.bool -> BackEndOps.op1 ->
  • extracted/eRTLptrToLTL.mli

    r2730 r2743  
    132132
    133133open TranslateUtils
     134
     135val dpi1__o__Reg_to_dec__o__inject :
     136  (I8051.register, 'a1) Types.dPair -> Interference.decision Types.sig0
     137
     138val eject__o__Reg_to_dec__o__inject :
     139  I8051.register Types.sig0 -> Interference.decision Types.sig0
     140
     141val reg_to_dec__o__inject :
     142  I8051.register -> Interference.decision Types.sig0
     143
     144val dpi1__o__Reg_to_dec :
     145  (I8051.register, 'a1) Types.dPair -> Interference.decision
     146
     147val eject__o__Reg_to_dec : I8051.register Types.sig0 -> Interference.decision
    134148
    135149type arg_decision =
     
    186200val arg_decision_jmdiscr : arg_decision -> arg_decision -> __
    187201
     202val dpi1__o__Reg_to_arg_dec__o__inject :
     203  (I8051.register, 'a1) Types.dPair -> arg_decision Types.sig0
     204
     205val eject__o__Reg_to_arg_dec__o__inject :
     206  I8051.register Types.sig0 -> arg_decision Types.sig0
     207
     208val reg_to_arg_dec__o__inject : I8051.register -> arg_decision Types.sig0
     209
     210val dpi1__o__Reg_to_arg_dec :
     211  (I8051.register, 'a1) Types.dPair -> arg_decision
     212
     213val eject__o__Reg_to_arg_dec : I8051.register Types.sig0 -> arg_decision
     214
    188215val preserve_carry_bit :
    189216  AST.ident List.list -> Bool.bool -> Joint.joint_seq List.list ->
     
    192219val a : Types.unit0
    193220
     221val dpi1__o__beval_of_byte__o__inject :
     222  (BitVector.byte, 'a1) Types.dPair -> ByteValues.beval Types.sig0
     223
     224val eject__o__beval_of_byte__o__inject :
     225  BitVector.byte Types.sig0 -> ByteValues.beval Types.sig0
     226
     227val beval_of_byte__o__inject : BitVector.byte -> ByteValues.beval Types.sig0
     228
     229val dpi1__o__beval_of_byte :
     230  (BitVector.byte, 'a1) Types.dPair -> ByteValues.beval
     231
     232val eject__o__beval_of_byte : BitVector.byte Types.sig0 -> ByteValues.beval
     233
    194234val set_dp_by_offset :
    195235  AST.ident List.list -> Nat.nat -> Joint.joint_seq List.list
     
    240280
    241281val dec_to_arg_dec : Interference.decision -> arg_decision
     282
     283val reg_to_dec__o__dec_arg_dec__o__inject :
     284  I8051.register -> arg_decision Types.sig0
     285
     286val dpi1__o__Reg_to_dec__o__dec_arg_dec__o__inject :
     287  (I8051.register, 'a1) Types.dPair -> arg_decision Types.sig0
     288
     289val eject__o__Reg_to_dec__o__dec_arg_dec__o__inject :
     290  I8051.register Types.sig0 -> arg_decision Types.sig0
     291
     292val dpi1__o__dec_arg_dec__o__inject :
     293  (Interference.decision, 'a1) Types.dPair -> arg_decision Types.sig0
     294
     295val eject__o__dec_arg_dec__o__inject :
     296  Interference.decision Types.sig0 -> arg_decision Types.sig0
     297
     298val dec_arg_dec__o__inject : Interference.decision -> arg_decision Types.sig0
     299
     300val reg_to_dec__o__dec_arg_dec : I8051.register -> arg_decision
     301
     302val dpi1__o__Reg_to_dec__o__dec_arg_dec :
     303  (I8051.register, 'a1) Types.dPair -> arg_decision
     304
     305val eject__o__Reg_to_dec__o__dec_arg_dec :
     306  I8051.register Types.sig0 -> arg_decision
     307
     308val dpi1__o__dec_arg_dec :
     309  (Interference.decision, 'a1) Types.dPair -> arg_decision
     310
     311val eject__o__dec_arg_dec : Interference.decision Types.sig0 -> arg_decision
    242312
    243313val translate_op1 :
  • extracted/errors.ml

    r2730 r2743  
    4343    PreIdentifiers.identifier -> 'a1) -> errcode -> 'a1 **)
    4444let rec errcode_rect_Type4 h_MSG h_CTX = function
    45 | MSG x_891 -> h_MSG x_891
    46 | CTX (tag, x_892) -> h_CTX tag x_892
     45| MSG x_2957 -> h_MSG x_2957
     46| CTX (tag, x_2958) -> h_CTX tag x_2958
    4747
    4848(** val errcode_rect_Type5 :
     
    5050    PreIdentifiers.identifier -> 'a1) -> errcode -> 'a1 **)
    5151let rec errcode_rect_Type5 h_MSG h_CTX = function
    52 | MSG x_896 -> h_MSG x_896
    53 | CTX (tag, x_897) -> h_CTX tag x_897
     52| MSG x_2962 -> h_MSG x_2962
     53| CTX (tag, x_2963) -> h_CTX tag x_2963
    5454
    5555(** val errcode_rect_Type3 :
     
    5757    PreIdentifiers.identifier -> 'a1) -> errcode -> 'a1 **)
    5858let rec errcode_rect_Type3 h_MSG h_CTX = function
    59 | MSG x_901 -> h_MSG x_901
    60 | CTX (tag, x_902) -> h_CTX tag x_902
     59| MSG x_2967 -> h_MSG x_2967
     60| CTX (tag, x_2968) -> h_CTX tag x_2968
    6161
    6262(** val errcode_rect_Type2 :
     
    6464    PreIdentifiers.identifier -> 'a1) -> errcode -> 'a1 **)
    6565let rec errcode_rect_Type2 h_MSG h_CTX = function
    66 | MSG x_906 -> h_MSG x_906
    67 | CTX (tag, x_907) -> h_CTX tag x_907
     66| MSG x_2972 -> h_MSG x_2972
     67| CTX (tag, x_2973) -> h_CTX tag x_2973
    6868
    6969(** val errcode_rect_Type1 :
     
    7171    PreIdentifiers.identifier -> 'a1) -> errcode -> 'a1 **)
    7272let rec errcode_rect_Type1 h_MSG h_CTX = function
    73 | MSG x_911 -> h_MSG x_911
    74 | CTX (tag, x_912) -> h_CTX tag x_912
     73| MSG x_2977 -> h_MSG x_2977
     74| CTX (tag, x_2978) -> h_CTX tag x_2978
    7575
    7676(** val errcode_rect_Type0 :
     
    7878    PreIdentifiers.identifier -> 'a1) -> errcode -> 'a1 **)
    7979let rec errcode_rect_Type0 h_MSG h_CTX = function
    80 | MSG x_916 -> h_MSG x_916
    81 | CTX (tag, x_917) -> h_CTX tag x_917
     80| MSG x_2982 -> h_MSG x_2982
     81| CTX (tag, x_2983) -> h_CTX tag x_2983
    8282
    8383(** val errcode_inv_rect_Type4 :
     
    143143    ('a1 -> 'a2) -> (errmsg -> 'a2) -> 'a1 res -> 'a2 **)
    144144let rec res_rect_Type4 h_OK h_Error = function
    145 | OK x_956 -> h_OK x_956
    146 | Error x_957 -> h_Error x_957
     145| OK x_3022 -> h_OK x_3022
     146| Error x_3023 -> h_Error x_3023
    147147
    148148(** val res_rect_Type5 :
    149149    ('a1 -> 'a2) -> (errmsg -> 'a2) -> 'a1 res -> 'a2 **)
    150150let rec res_rect_Type5 h_OK h_Error = function
    151 | OK x_961 -> h_OK x_961
    152 | Error x_962 -> h_Error x_962
     151| OK x_3027 -> h_OK x_3027
     152| Error x_3028 -> h_Error x_3028
    153153
    154154(** val res_rect_Type3 :
    155155    ('a1 -> 'a2) -> (errmsg -> 'a2) -> 'a1 res -> 'a2 **)
    156156let rec res_rect_Type3 h_OK h_Error = function
    157 | OK x_966 -> h_OK x_966
    158 | Error x_967 -> h_Error x_967
     157| OK x_3032 -> h_OK x_3032
     158| Error x_3033 -> h_Error x_3033
    159159
    160160(** val res_rect_Type2 :
    161161    ('a1 -> 'a2) -> (errmsg -> 'a2) -> 'a1 res -> 'a2 **)
    162162let rec res_rect_Type2 h_OK h_Error = function
    163 | OK x_971 -> h_OK x_971
    164 | Error x_972 -> h_Error x_972
     163| OK x_3037 -> h_OK x_3037
     164| Error x_3038 -> h_Error x_3038
    165165
    166166(** val res_rect_Type1 :
    167167    ('a1 -> 'a2) -> (errmsg -> 'a2) -> 'a1 res -> 'a2 **)
    168168let rec res_rect_Type1 h_OK h_Error = function
    169 | OK x_976 -> h_OK x_976
    170 | Error x_977 -> h_Error x_977
     169| OK x_3042 -> h_OK x_3042
     170| Error x_3043 -> h_Error x_3043
    171171
    172172(** val res_rect_Type0 :
    173173    ('a1 -> 'a2) -> (errmsg -> 'a2) -> 'a1 res -> 'a2 **)
    174174let rec res_rect_Type0 h_OK h_Error = function
    175 | OK x_981 -> h_OK x_981
    176 | Error x_982 -> h_Error x_982
     175| OK x_3047 -> h_OK x_3047
     176| Error x_3048 -> h_Error x_3048
    177177
    178178(** val res_inv_rect_Type4 :
     
    258258| Types.Some v0 -> OK v0
    259259
     260(** val jmeq_to_eq__o__opt_eq_from_res__o__inject :
     261    errmsg -> 'a1 Types.option -> 'a1 -> __ Types.sig0 **)
     262let jmeq_to_eq__o__opt_eq_from_res__o__inject x1 x2 x3 =
     263  __
     264
     265(** val dpi1__o__opt_eq_from_res__o__inject :
     266    errmsg -> 'a1 Types.option -> 'a1 -> (__, 'a2) Types.dPair -> __
     267    Types.sig0 **)
     268let dpi1__o__opt_eq_from_res__o__inject x1 x2 x3 x6 =
     269  __
     270
     271(** val eject__o__opt_eq_from_res__o__inject :
     272    errmsg -> 'a1 Types.option -> 'a1 -> __ Types.sig0 -> __ Types.sig0 **)
     273let eject__o__opt_eq_from_res__o__inject x1 x2 x3 x6 =
     274  __
     275
     276(** val opt_eq_from_res__o__inject :
     277    errmsg -> 'a1 Types.option -> 'a1 -> __ Types.sig0 **)
     278let opt_eq_from_res__o__inject x1 x2 x3 =
     279  __
     280
    260281(** val bind_eq : 'a1 res -> ('a1 -> __ -> 'a2 res) -> 'a2 res **)
    261282let bind_eq f g0 =
  • extracted/errors.mli

    r2649 r2743  
    146146val opt_to_res : errmsg -> 'a1 Types.option -> 'a1 res
    147147
     148val jmeq_to_eq__o__opt_eq_from_res__o__inject :
     149  errmsg -> 'a1 Types.option -> 'a1 -> __ Types.sig0
     150
     151val dpi1__o__opt_eq_from_res__o__inject :
     152  errmsg -> 'a1 Types.option -> 'a1 -> (__, 'a2) Types.dPair -> __ Types.sig0
     153
     154val eject__o__opt_eq_from_res__o__inject :
     155  errmsg -> 'a1 Types.option -> 'a1 -> __ Types.sig0 -> __ Types.sig0
     156
     157val opt_eq_from_res__o__inject :
     158  errmsg -> 'a1 Types.option -> 'a1 -> __ Types.sig0
     159
    148160val bind_eq : 'a1 res -> ('a1 -> __ -> 'a2 res) -> 'a2 res
    149161
  • extracted/events.ml

    r2730 r2743  
    9191    (AST.intsize -> AST.bvint -> 'a1) -> eventval -> 'a1 **)
    9292let rec eventval_rect_Type4 h_EVint = function
    93 | EVint (sz, x_4706) -> h_EVint sz x_4706
     93| EVint (sz, x_5485) -> h_EVint sz x_5485
    9494
    9595(** val eventval_rect_Type5 :
    9696    (AST.intsize -> AST.bvint -> 'a1) -> eventval -> 'a1 **)
    9797let rec eventval_rect_Type5 h_EVint = function
    98 | EVint (sz, x_4709) -> h_EVint sz x_4709
     98| EVint (sz, x_5488) -> h_EVint sz x_5488
    9999
    100100(** val eventval_rect_Type3 :
    101101    (AST.intsize -> AST.bvint -> 'a1) -> eventval -> 'a1 **)
    102102let rec eventval_rect_Type3 h_EVint = function
    103 | EVint (sz, x_4712) -> h_EVint sz x_4712
     103| EVint (sz, x_5491) -> h_EVint sz x_5491
    104104
    105105(** val eventval_rect_Type2 :
    106106    (AST.intsize -> AST.bvint -> 'a1) -> eventval -> 'a1 **)
    107107let rec eventval_rect_Type2 h_EVint = function
    108 | EVint (sz, x_4715) -> h_EVint sz x_4715
     108| EVint (sz, x_5494) -> h_EVint sz x_5494
    109109
    110110(** val eventval_rect_Type1 :
    111111    (AST.intsize -> AST.bvint -> 'a1) -> eventval -> 'a1 **)
    112112let rec eventval_rect_Type1 h_EVint = function
    113 | EVint (sz, x_4718) -> h_EVint sz x_4718
     113| EVint (sz, x_5497) -> h_EVint sz x_5497
    114114
    115115(** val eventval_rect_Type0 :
    116116    (AST.intsize -> AST.bvint -> 'a1) -> eventval -> 'a1 **)
    117117let rec eventval_rect_Type0 h_EVint = function
    118 | EVint (sz, x_4721) -> h_EVint sz x_4721
     118| EVint (sz, x_5500) -> h_EVint sz x_5500
    119119
    120120(** val eventval_inv_rect_Type4 :
     
    161161    eventval -> 'a1) -> event -> 'a1 **)
    162162let rec event_rect_Type4 h_EVcost h_EVextcall = function
    163 | EVcost x_4746 -> h_EVcost x_4746
     163| EVcost x_5525 -> h_EVcost x_5525
    164164| EVextcall (ev_name, ev_args, ev_res) -> h_EVextcall ev_name ev_args ev_res
    165165
     
    168168    eventval -> 'a1) -> event -> 'a1 **)
    169169let rec event_rect_Type5 h_EVcost h_EVextcall = function
    170 | EVcost x_4750 -> h_EVcost x_4750
     170| EVcost x_5529 -> h_EVcost x_5529
    171171| EVextcall (ev_name, ev_args, ev_res) -> h_EVextcall ev_name ev_args ev_res
    172172
     
    175175    eventval -> 'a1) -> event -> 'a1 **)
    176176let rec event_rect_Type3 h_EVcost h_EVextcall = function
    177 | EVcost x_4754 -> h_EVcost x_4754
     177| EVcost x_5533 -> h_EVcost x_5533
    178178| EVextcall (ev_name, ev_args, ev_res) -> h_EVextcall ev_name ev_args ev_res
    179179
     
    182182    eventval -> 'a1) -> event -> 'a1 **)
    183183let rec event_rect_Type2 h_EVcost h_EVextcall = function
    184 | EVcost x_4758 -> h_EVcost x_4758
     184| EVcost x_5537 -> h_EVcost x_5537
    185185| EVextcall (ev_name, ev_args, ev_res) -> h_EVextcall ev_name ev_args ev_res
    186186
     
    189189    eventval -> 'a1) -> event -> 'a1 **)
    190190let rec event_rect_Type1 h_EVcost h_EVextcall = function
    191 | EVcost x_4762 -> h_EVcost x_4762
     191| EVcost x_5541 -> h_EVcost x_5541
    192192| EVextcall (ev_name, ev_args, ev_res) -> h_EVextcall ev_name ev_args ev_res
    193193
     
    196196    eventval -> 'a1) -> event -> 'a1 **)
    197197let rec event_rect_Type0 h_EVcost h_EVextcall = function
    198 | EVcost x_4766 -> h_EVcost x_4766
     198| EVcost x_5545 -> h_EVcost x_5545
    199199| EVextcall (ev_name, ev_args, ev_res) -> h_EVextcall ev_name ev_args ev_res
    200200
  • extracted/fetch.ml

    r2730 r2743  
    9898  (Types.pi1
    9999    (FoldStuff.foldl_strong program0 (fun prefix0 x tl _ labels_costs_ppc ->
    100       (let { Types.fst = eta24890; Types.snd = ppc } =
     100      (let { Types.fst = eta29042; Types.snd = ppc } =
    101101         Types.pi1 labels_costs_ppc
    102102       in
    103103      (fun _ ->
    104       (let { Types.fst = labels; Types.snd = costs } = eta24890 in
     104      (let { Types.fst = labels; Types.snd = costs } = eta29042 in
    105105      (fun _ ->
    106106      (let { Types.fst = label; Types.snd = instr } = x in
  • extracted/fixpoints.ml

    r2730 r2743  
    8080    (__ -> __ -> (__ -> __ -> Bool.bool) -> (__ -> __ -> Bool.bool) -> (__ ->
    8181    Bool.bool) -> 'a1) -> property_lattice -> 'a1 **)
    82 let rec property_lattice_rect_Type4 h_mk_property_lattice x_85 =
    83   let { l_bottom = l_bottom0; l_equal = l_equal0; l_included = l_included0;
    84     l_is_maximal = l_is_maximal0 } = x_85
     82let rec property_lattice_rect_Type4 h_mk_property_lattice x_21521 =
     83  let { l_bottom = l_bottom0; l_equal = l_equal0; l_included = l_included0;
     84    l_is_maximal = l_is_maximal0 } = x_21521
    8585  in
    8686  h_mk_property_lattice __ l_bottom0 l_equal0 l_included0 l_is_maximal0
     
    8989    (__ -> __ -> (__ -> __ -> Bool.bool) -> (__ -> __ -> Bool.bool) -> (__ ->
    9090    Bool.bool) -> 'a1) -> property_lattice -> 'a1 **)
    91 let rec property_lattice_rect_Type5 h_mk_property_lattice x_87 =
    92   let { l_bottom = l_bottom0; l_equal = l_equal0; l_included = l_included0;
    93     l_is_maximal = l_is_maximal0 } = x_87
     91let rec property_lattice_rect_Type5 h_mk_property_lattice x_21523 =
     92  let { l_bottom = l_bottom0; l_equal = l_equal0; l_included = l_included0;
     93    l_is_maximal = l_is_maximal0 } = x_21523
    9494  in
    9595  h_mk_property_lattice __ l_bottom0 l_equal0 l_included0 l_is_maximal0
     
    9898    (__ -> __ -> (__ -> __ -> Bool.bool) -> (__ -> __ -> Bool.bool) -> (__ ->
    9999    Bool.bool) -> 'a1) -> property_lattice -> 'a1 **)
    100 let rec property_lattice_rect_Type3 h_mk_property_lattice x_89 =
    101   let { l_bottom = l_bottom0; l_equal = l_equal0; l_included = l_included0;
    102     l_is_maximal = l_is_maximal0 } = x_89
     100let rec property_lattice_rect_Type3 h_mk_property_lattice x_21525 =
     101  let { l_bottom = l_bottom0; l_equal = l_equal0; l_included = l_included0;
     102    l_is_maximal = l_is_maximal0 } = x_21525
    103103  in
    104104  h_mk_property_lattice __ l_bottom0 l_equal0 l_included0 l_is_maximal0
     
    107107    (__ -> __ -> (__ -> __ -> Bool.bool) -> (__ -> __ -> Bool.bool) -> (__ ->
    108108    Bool.bool) -> 'a1) -> property_lattice -> 'a1 **)
    109 let rec property_lattice_rect_Type2 h_mk_property_lattice x_91 =
    110   let { l_bottom = l_bottom0; l_equal = l_equal0; l_included = l_included0;
    111     l_is_maximal = l_is_maximal0 } = x_91
     109let rec property_lattice_rect_Type2 h_mk_property_lattice x_21527 =
     110  let { l_bottom = l_bottom0; l_equal = l_equal0; l_included = l_included0;
     111    l_is_maximal = l_is_maximal0 } = x_21527
    112112  in
    113113  h_mk_property_lattice __ l_bottom0 l_equal0 l_included0 l_is_maximal0
     
    116116    (__ -> __ -> (__ -> __ -> Bool.bool) -> (__ -> __ -> Bool.bool) -> (__ ->
    117117    Bool.bool) -> 'a1) -> property_lattice -> 'a1 **)
    118 let rec property_lattice_rect_Type1 h_mk_property_lattice x_93 =
    119   let { l_bottom = l_bottom0; l_equal = l_equal0; l_included = l_included0;
    120     l_is_maximal = l_is_maximal0 } = x_93
     118let rec property_lattice_rect_Type1 h_mk_property_lattice x_21529 =
     119  let { l_bottom = l_bottom0; l_equal = l_equal0; l_included = l_included0;
     120    l_is_maximal = l_is_maximal0 } = x_21529
    121121  in
    122122  h_mk_property_lattice __ l_bottom0 l_equal0 l_included0 l_is_maximal0
     
    125125    (__ -> __ -> (__ -> __ -> Bool.bool) -> (__ -> __ -> Bool.bool) -> (__ ->
    126126    Bool.bool) -> 'a1) -> property_lattice -> 'a1 **)
    127 let rec property_lattice_rect_Type0 h_mk_property_lattice x_95 =
    128   let { l_bottom = l_bottom0; l_equal = l_equal0; l_included = l_included0;
    129     l_is_maximal = l_is_maximal0 } = x_95
     127let rec property_lattice_rect_Type0 h_mk_property_lattice x_21531 =
     128  let { l_bottom = l_bottom0; l_equal = l_equal0; l_included = l_included0;
     129    l_is_maximal = l_is_maximal0 } = x_21531
    130130  in
    131131  h_mk_property_lattice __ l_bottom0 l_equal0 l_included0 l_is_maximal0
     
    201201    property_lattice -> ((equations -> valuation) -> __ -> 'a1) -> fixpoint
    202202    -> 'a1 **)
    203 let rec fixpoint_rect_Type4 latt h_mk_fixpoint x_116 =
    204   let fix_lfp = x_116 in h_mk_fixpoint fix_lfp __
     203let rec fixpoint_rect_Type4 latt h_mk_fixpoint x_21552 =
     204  let fix_lfp = x_21552 in h_mk_fixpoint fix_lfp __
    205205
    206206(** val fixpoint_rect_Type5 :
    207207    property_lattice -> ((equations -> valuation) -> __ -> 'a1) -> fixpoint
    208208    -> 'a1 **)
    209 let rec fixpoint_rect_Type5 latt h_mk_fixpoint x_118 =
    210   let fix_lfp = x_118 in h_mk_fixpoint fix_lfp __
     209let rec fixpoint_rect_Type5 latt h_mk_fixpoint x_21554 =
     210  let fix_lfp = x_21554 in h_mk_fixpoint fix_lfp __
    211211
    212212(** val fixpoint_rect_Type3 :
    213213    property_lattice -> ((equations -> valuation) -> __ -> 'a1) -> fixpoint
    214214    -> 'a1 **)
    215 let rec fixpoint_rect_Type3 latt h_mk_fixpoint x_120 =
    216   let fix_lfp = x_120 in h_mk_fixpoint fix_lfp __
     215let rec fixpoint_rect_Type3 latt h_mk_fixpoint x_21556 =
     216  let fix_lfp = x_21556 in h_mk_fixpoint fix_lfp __
    217217
    218218(** val fixpoint_rect_Type2 :
    219219    property_lattice -> ((equations -> valuation) -> __ -> 'a1) -> fixpoint
    220220    -> 'a1 **)
    221 let rec fixpoint_rect_Type2 latt h_mk_fixpoint x_122 =
    222   let fix_lfp = x_122 in h_mk_fixpoint fix_lfp __
     221let rec fixpoint_rect_Type2 latt h_mk_fixpoint x_21558 =
     222  let fix_lfp = x_21558 in h_mk_fixpoint fix_lfp __
    223223
    224224(** val fixpoint_rect_Type1 :
    225225    property_lattice -> ((equations -> valuation) -> __ -> 'a1) -> fixpoint
    226226    -> 'a1 **)
    227 let rec fixpoint_rect_Type1 latt h_mk_fixpoint x_124 =
    228   let fix_lfp = x_124 in h_mk_fixpoint fix_lfp __
     227let rec fixpoint_rect_Type1 latt h_mk_fixpoint x_21560 =
     228  let fix_lfp = x_21560 in h_mk_fixpoint fix_lfp __
    229229
    230230(** val fixpoint_rect_Type0 :
    231231    property_lattice -> ((equations -> valuation) -> __ -> 'a1) -> fixpoint
    232232    -> 'a1 **)
    233 let rec fixpoint_rect_Type0 latt h_mk_fixpoint x_126 =
    234   let fix_lfp = x_126 in h_mk_fixpoint fix_lfp __
     233let rec fixpoint_rect_Type0 latt h_mk_fixpoint x_21562 =
     234  let fix_lfp = x_21562 in h_mk_fixpoint fix_lfp __
    235235
    236236(** val fix_lfp : property_lattice -> fixpoint -> equations -> valuation **)
  • extracted/frontEndOps.ml

    r2730 r2743  
    9999    (AST.intsize -> AST.signedness -> AST.bvint -> 'a1) -> (AST.ident ->
    100100    Nat.nat -> 'a1) -> (Nat.nat -> 'a1) -> AST.typ -> constant -> 'a1 **)
    101 let rec constant_rect_Type4 h_Ointconst h_Oaddrsymbol h_Oaddrstack x_1160 = function
    102 | Ointconst (sz, sg, x_1162) -> h_Ointconst sz sg x_1162
    103 | Oaddrsymbol (x_1164, x_1163) -> h_Oaddrsymbol x_1164 x_1163
    104 | Oaddrstack x_1165 -> h_Oaddrstack x_1165
     101let rec constant_rect_Type4 h_Ointconst h_Oaddrsymbol h_Oaddrstack x_13083 = function
     102| Ointconst (sz, sg, x_13085) -> h_Ointconst sz sg x_13085
     103| Oaddrsymbol (x_13087, x_13086) -> h_Oaddrsymbol x_13087 x_13086
     104| Oaddrstack x_13088 -> h_Oaddrstack x_13088
    105105
    106106(** val constant_rect_Type5 :
    107107    (AST.intsize -> AST.signedness -> AST.bvint -> 'a1) -> (AST.ident ->
    108108    Nat.nat -> 'a1) -> (Nat.nat -> 'a1) -> AST.typ -> constant -> 'a1 **)
    109 let rec constant_rect_Type5 h_Ointconst h_Oaddrsymbol h_Oaddrstack x_1169 = function
    110 | Ointconst (sz, sg, x_1171) -> h_Ointconst sz sg x_1171
    111 | Oaddrsymbol (x_1173, x_1172) -> h_Oaddrsymbol x_1173 x_1172
    112 | Oaddrstack x_1174 -> h_Oaddrstack x_1174
     109let rec constant_rect_Type5 h_Ointconst h_Oaddrsymbol h_Oaddrstack x_13092 = function
     110| Ointconst (sz, sg, x_13094) -> h_Ointconst sz sg x_13094
     111| Oaddrsymbol (x_13096, x_13095) -> h_Oaddrsymbol x_13096 x_13095
     112| Oaddrstack x_13097 -> h_Oaddrstack x_13097
    113113
    114114(** val constant_rect_Type3 :
    115115    (AST.intsize -> AST.signedness -> AST.bvint -> 'a1) -> (AST.ident ->
    116116    Nat.nat -> 'a1) -> (Nat.nat -> 'a1) -> AST.typ -> constant -> 'a1 **)
    117 let rec constant_rect_Type3 h_Ointconst h_Oaddrsymbol h_Oaddrstack x_1178 = function
    118 | Ointconst (sz, sg, x_1180) -> h_Ointconst sz sg x_1180
    119 | Oaddrsymbol (x_1182, x_1181) -> h_Oaddrsymbol x_1182 x_1181
    120 | Oaddrstack x_1183 -> h_Oaddrstack x_1183
     117let rec constant_rect_Type3 h_Ointconst h_Oaddrsymbol h_Oaddrstack x_13101 = function
     118| Ointconst (sz, sg, x_13103) -> h_Ointconst sz sg x_13103
     119| Oaddrsymbol (x_13105, x_13104) -> h_Oaddrsymbol x_13105 x_13104
     120| Oaddrstack x_13106 -> h_Oaddrstack x_13106
    121121
    122122(** val constant_rect_Type2 :
    123123    (AST.intsize -> AST.signedness -> AST.bvint -> 'a1) -> (AST.ident ->
    124124    Nat.nat -> 'a1) -> (Nat.nat -> 'a1) -> AST.typ -> constant -> 'a1 **)
    125 let rec constant_rect_Type2 h_Ointconst h_Oaddrsymbol h_Oaddrstack x_1187 = function
    126 | Ointconst (sz, sg, x_1189) -> h_Ointconst sz sg x_1189
    127 | Oaddrsymbol (x_1191, x_1190) -> h_Oaddrsymbol x_1191 x_1190
    128 | Oaddrstack x_1192 -> h_Oaddrstack x_1192
     125let rec constant_rect_Type2 h_Ointconst h_Oaddrsymbol h_Oaddrstack x_13110 = function
     126| Ointconst (sz, sg, x_13112) -> h_Ointconst sz sg x_13112
     127| Oaddrsymbol (x_13114, x_13113) -> h_Oaddrsymbol x_13114 x_13113
     128| Oaddrstack x_13115 -> h_Oaddrstack x_13115
    129129
    130130(** val constant_rect_Type1 :
    131131    (AST.intsize -> AST.signedness -> AST.bvint -> 'a1) -> (AST.ident ->
    132132    Nat.nat -> 'a1) -> (Nat.nat -> 'a1) -> AST.typ -> constant -> 'a1 **)
    133 let rec constant_rect_Type1 h_Ointconst h_Oaddrsymbol h_Oaddrstack x_1196 = function
    134 | Ointconst (sz, sg, x_1198) -> h_Ointconst sz sg x_1198
    135 | Oaddrsymbol (x_1200, x_1199) -> h_Oaddrsymbol x_1200 x_1199
    136 | Oaddrstack x_1201 -> h_Oaddrstack x_1201
     133let rec constant_rect_Type1 h_Ointconst h_Oaddrsymbol h_Oaddrstack x_13119 = function
     134| Ointconst (sz, sg, x_13121) -> h_Ointconst sz sg x_13121
     135| Oaddrsymbol (x_13123, x_13122) -> h_Oaddrsymbol x_13123 x_13122
     136| Oaddrstack x_13124 -> h_Oaddrstack x_13124
    137137
    138138(** val constant_rect_Type0 :
    139139    (AST.intsize -> AST.signedness -> AST.bvint -> 'a1) -> (AST.ident ->
    140140    Nat.nat -> 'a1) -> (Nat.nat -> 'a1) -> AST.typ -> constant -> 'a1 **)
    141 let rec constant_rect_Type0 h_Ointconst h_Oaddrsymbol h_Oaddrstack x_1205 = function
    142 | Ointconst (sz, sg, x_1207) -> h_Ointconst sz sg x_1207
    143 | Oaddrsymbol (x_1209, x_1208) -> h_Oaddrsymbol x_1209 x_1208
    144 | Oaddrstack x_1210 -> h_Oaddrstack x_1210
     141let rec constant_rect_Type0 h_Ointconst h_Oaddrsymbol h_Oaddrstack x_13128 = function
     142| Ointconst (sz, sg, x_13130) -> h_Ointconst sz sg x_13130
     143| Oaddrsymbol (x_13132, x_13131) -> h_Oaddrsymbol x_13132 x_13131
     144| Oaddrstack x_13133 -> h_Oaddrstack x_13133
    145145
    146146(** val constant_inv_rect_Type4 :
     
    211211    (AST.intsize -> AST.signedness -> 'a1) -> AST.typ -> AST.typ ->
    212212    unary_operation -> 'a1 **)
    213 let rec unary_operation_rect_Type4 h_Ocastint h_Onegint h_Onotbool h_Onotint h_Oid h_Optrofint h_Ointofptr x_1280 x_1279 = function
     213let rec unary_operation_rect_Type4 h_Ocastint h_Onegint h_Onotbool h_Onotint h_Oid h_Optrofint h_Ointofptr x_13203 x_13202 = function
    214214| Ocastint (sz, sg, sz', sg') -> h_Ocastint sz sg sz' sg'
    215215| Onegint (sz, sg) -> h_Onegint sz sg
     
    227227    (AST.intsize -> AST.signedness -> 'a1) -> AST.typ -> AST.typ ->
    228228    unary_operation -> 'a1 **)
    229 let rec unary_operation_rect_Type5 h_Ocastint h_Onegint h_Onotbool h_Onotint h_Oid h_Optrofint h_Ointofptr x_1291 x_1290 = function
     229let rec unary_operation_rect_Type5 h_Ocastint h_Onegint h_Onotbool h_Onotint h_Oid h_Optrofint h_Ointofptr x_13214 x_13213 = function
    230230| Ocastint (sz, sg, sz', sg') -> h_Ocastint sz sg sz' sg'
    231231| Onegint (sz, sg) -> h_Onegint sz sg