Changeset 2827


Ignore:
Timestamp:
Mar 8, 2013, 9:07:28 PM (6 years ago)
Author:
sacerdot
Message:

Everything extracted again.

Location:
extracted
Files:
1 added
64 edited

Legend:

Unmodified
Added
Removed
  • extracted/aSM.ml

    r2797 r2827  
    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_21925 -> h_DIRECT x_21925
    116 | INDIRECT x_21926 -> h_INDIRECT x_21926
    117 | EXT_INDIRECT x_21927 -> h_EXT_INDIRECT x_21927
    118 | REGISTER x_21928 -> h_REGISTER x_21928
     115| DIRECT x_22051 -> h_DIRECT x_22051
     116| INDIRECT x_22052 -> h_INDIRECT x_22052
     117| EXT_INDIRECT x_22053 -> h_EXT_INDIRECT x_22053
     118| REGISTER x_22054 -> h_REGISTER x_22054
    119119| ACC_A -> h_ACC_A
    120120| ACC_B -> h_ACC_B
    121121| DPTR -> h_DPTR
    122 | DATA x_21929 -> h_DATA x_21929
    123 | DATA16 x_21930 -> h_DATA16 x_21930
     122| DATA x_22055 -> h_DATA x_22055
     123| DATA16 x_22056 -> h_DATA16 x_22056
    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_21931 -> h_BIT_ADDR x_21931
    130 | N_BIT_ADDR x_21932 -> h_N_BIT_ADDR x_21932
    131 | RELATIVE x_21933 -> h_RELATIVE x_21933
    132 | ADDR11 x_21934 -> h_ADDR11 x_21934
    133 | ADDR16 x_21935 -> h_ADDR16 x_21935
     129| BIT_ADDR x_22057 -> h_BIT_ADDR x_22057
     130| N_BIT_ADDR x_22058 -> h_N_BIT_ADDR x_22058
     131| RELATIVE x_22059 -> h_RELATIVE x_22059
     132| ADDR11 x_22060 -> h_ADDR11 x_22060
     133| ADDR16 x_22061 -> h_ADDR16 x_22061
    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_21956 -> h_DIRECT x_21956
    144 | INDIRECT x_21957 -> h_INDIRECT x_21957
    145 | EXT_INDIRECT x_21958 -> h_EXT_INDIRECT x_21958
    146 | REGISTER x_21959 -> h_REGISTER x_21959
     143| DIRECT x_22082 -> h_DIRECT x_22082
     144| INDIRECT x_22083 -> h_INDIRECT x_22083
     145| EXT_INDIRECT x_22084 -> h_EXT_INDIRECT x_22084
     146| REGISTER x_22085 -> h_REGISTER x_22085
    147147| ACC_A -> h_ACC_A
    148148| ACC_B -> h_ACC_B
    149149| DPTR -> h_DPTR
    150 | DATA x_21960 -> h_DATA x_21960
    151 | DATA16 x_21961 -> h_DATA16 x_21961
     150| DATA x_22086 -> h_DATA x_22086
     151| DATA16 x_22087 -> h_DATA16 x_22087
    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_21962 -> h_BIT_ADDR x_21962
    158 | N_BIT_ADDR x_21963 -> h_N_BIT_ADDR x_21963
    159 | RELATIVE x_21964 -> h_RELATIVE x_21964
    160 | ADDR11 x_21965 -> h_ADDR11 x_21965
    161 | ADDR16 x_21966 -> h_ADDR16 x_21966
     157| BIT_ADDR x_22088 -> h_BIT_ADDR x_22088
     158| N_BIT_ADDR x_22089 -> h_N_BIT_ADDR x_22089
     159| RELATIVE x_22090 -> h_RELATIVE x_22090
     160| ADDR11 x_22091 -> h_ADDR11 x_22091
     161| ADDR16 x_22092 -> h_ADDR16 x_22092
    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_21987 -> h_DIRECT x_21987
    172 | INDIRECT x_21988 -> h_INDIRECT x_21988
    173 | EXT_INDIRECT x_21989 -> h_EXT_INDIRECT x_21989
    174 | REGISTER x_21990 -> h_REGISTER x_21990
     171| DIRECT x_22113 -> h_DIRECT x_22113
     172| INDIRECT x_22114 -> h_INDIRECT x_22114
     173| EXT_INDIRECT x_22115 -> h_EXT_INDIRECT x_22115
     174| REGISTER x_22116 -> h_REGISTER x_22116
    175175| ACC_A -> h_ACC_A
    176176| ACC_B -> h_ACC_B
    177177| DPTR -> h_DPTR
    178 | DATA x_21991 -> h_DATA x_21991
    179 | DATA16 x_21992 -> h_DATA16 x_21992
     178| DATA x_22117 -> h_DATA x_22117
     179| DATA16 x_22118 -> h_DATA16 x_22118
    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_21993 -> h_BIT_ADDR x_21993
    186 | N_BIT_ADDR x_21994 -> h_N_BIT_ADDR x_21994
    187 | RELATIVE x_21995 -> h_RELATIVE x_21995
    188 | ADDR11 x_21996 -> h_ADDR11 x_21996
    189 | ADDR16 x_21997 -> h_ADDR16 x_21997
     185| BIT_ADDR x_22119 -> h_BIT_ADDR x_22119
     186| N_BIT_ADDR x_22120 -> h_N_BIT_ADDR x_22120
     187| RELATIVE x_22121 -> h_RELATIVE x_22121
     188| ADDR11 x_22122 -> h_ADDR11 x_22122
     189| ADDR16 x_22123 -> h_ADDR16 x_22123
    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_22018 -> h_DIRECT x_22018
    200 | INDIRECT x_22019 -> h_INDIRECT x_22019
    201 | EXT_INDIRECT x_22020 -> h_EXT_INDIRECT x_22020
    202 | REGISTER x_22021 -> h_REGISTER x_22021
     199| DIRECT x_22144 -> h_DIRECT x_22144
     200| INDIRECT x_22145 -> h_INDIRECT x_22145
     201| EXT_INDIRECT x_22146 -> h_EXT_INDIRECT x_22146
     202| REGISTER x_22147 -> h_REGISTER x_22147
    203203| ACC_A -> h_ACC_A
    204204| ACC_B -> h_ACC_B
    205205| DPTR -> h_DPTR
    206 | DATA x_22022 -> h_DATA x_22022
    207 | DATA16 x_22023 -> h_DATA16 x_22023
     206| DATA x_22148 -> h_DATA x_22148
     207| DATA16 x_22149 -> h_DATA16 x_22149
    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_22024 -> h_BIT_ADDR x_22024
    214 | N_BIT_ADDR x_22025 -> h_N_BIT_ADDR x_22025
    215 | RELATIVE x_22026 -> h_RELATIVE x_22026
    216 | ADDR11 x_22027 -> h_ADDR11 x_22027
    217 | ADDR16 x_22028 -> h_ADDR16 x_22028
     213| BIT_ADDR x_22150 -> h_BIT_ADDR x_22150
     214| N_BIT_ADDR x_22151 -> h_N_BIT_ADDR x_22151
     215| RELATIVE x_22152 -> h_RELATIVE x_22152
     216| ADDR11 x_22153 -> h_ADDR11 x_22153
     217| ADDR16 x_22154 -> h_ADDR16 x_22154
    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_22049 -> h_DIRECT x_22049
    228 | INDIRECT x_22050 -> h_INDIRECT x_22050
    229 | EXT_INDIRECT x_22051 -> h_EXT_INDIRECT x_22051
    230 | REGISTER x_22052 -> h_REGISTER x_22052
     227| DIRECT x_22175 -> h_DIRECT x_22175
     228| INDIRECT x_22176 -> h_INDIRECT x_22176
     229| EXT_INDIRECT x_22177 -> h_EXT_INDIRECT x_22177
     230| REGISTER x_22178 -> h_REGISTER x_22178
    231231| ACC_A -> h_ACC_A
    232232| ACC_B -> h_ACC_B
    233233| DPTR -> h_DPTR
    234 | DATA x_22053 -> h_DATA x_22053
    235 | DATA16 x_22054 -> h_DATA16 x_22054
     234| DATA x_22179 -> h_DATA x_22179
     235| DATA16 x_22180 -> h_DATA16 x_22180
    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_22055 -> h_BIT_ADDR x_22055
    242 | N_BIT_ADDR x_22056 -> h_N_BIT_ADDR x_22056
    243 | RELATIVE x_22057 -> h_RELATIVE x_22057
    244 | ADDR11 x_22058 -> h_ADDR11 x_22058
    245 | ADDR16 x_22059 -> h_ADDR16 x_22059
     241| BIT_ADDR x_22181 -> h_BIT_ADDR x_22181
     242| N_BIT_ADDR x_22182 -> h_N_BIT_ADDR x_22182
     243| RELATIVE x_22183 -> h_RELATIVE x_22183
     244| ADDR11 x_22184 -> h_ADDR11 x_22184
     245| ADDR16 x_22185 -> h_ADDR16 x_22185
    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_22080 -> h_DIRECT x_22080
    256 | INDIRECT x_22081 -> h_INDIRECT x_22081
    257 | EXT_INDIRECT x_22082 -> h_EXT_INDIRECT x_22082
    258 | REGISTER x_22083 -> h_REGISTER x_22083
     255| DIRECT x_22206 -> h_DIRECT x_22206
     256| INDIRECT x_22207 -> h_INDIRECT x_22207
     257| EXT_INDIRECT x_22208 -> h_EXT_INDIRECT x_22208
     258| REGISTER x_22209 -> h_REGISTER x_22209
    259259| ACC_A -> h_ACC_A
    260260| ACC_B -> h_ACC_B
    261261| DPTR -> h_DPTR
    262 | DATA x_22084 -> h_DATA x_22084
    263 | DATA16 x_22085 -> h_DATA16 x_22085
     262| DATA x_22210 -> h_DATA x_22210
     263| DATA16 x_22211 -> h_DATA16 x_22211
    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_22086 -> h_BIT_ADDR x_22086
    270 | N_BIT_ADDR x_22087 -> h_N_BIT_ADDR x_22087
    271 | RELATIVE x_22088 -> h_RELATIVE x_22088
    272 | ADDR11 x_22089 -> h_ADDR11 x_22089
    273 | ADDR16 x_22090 -> h_ADDR16 x_22090
     269| BIT_ADDR x_22212 -> h_BIT_ADDR x_22212
     270| N_BIT_ADDR x_22213 -> h_N_BIT_ADDR x_22213
     271| RELATIVE x_22214 -> h_RELATIVE x_22214
     272| ADDR11 x_22215 -> h_ADDR11 x_22215
     273| ADDR16 x_22216 -> h_ADDR16 x_22216
    274274
    275275(** val addressing_mode_inv_rect_Type4 :
     
    19261926    Nat.nat -> addressing_mode_tag Vector.vector -> (addressing_mode -> __ ->
    19271927    'a1) -> subaddressing_mode -> 'a1 **)
    1928 let rec subaddressing_mode_rect_Type4 n l h_mk_subaddressing_mode x_22558 =
    1929   let subaddressing_modeel = x_22558 in
     1928let rec subaddressing_mode_rect_Type4 n l h_mk_subaddressing_mode x_22684 =
     1929  let subaddressing_modeel = x_22684 in
    19301930  h_mk_subaddressing_mode subaddressing_modeel __
    19311931
     
    19331933    Nat.nat -> addressing_mode_tag Vector.vector -> (addressing_mode -> __ ->
    19341934    'a1) -> subaddressing_mode -> 'a1 **)
    1935 let rec subaddressing_mode_rect_Type5 n l h_mk_subaddressing_mode x_22560 =
    1936   let subaddressing_modeel = x_22560 in
     1935let rec subaddressing_mode_rect_Type5 n l h_mk_subaddressing_mode x_22686 =
     1936  let subaddressing_modeel = x_22686 in
    19371937  h_mk_subaddressing_mode subaddressing_modeel __
    19381938
     
    19401940    Nat.nat -> addressing_mode_tag Vector.vector -> (addressing_mode -> __ ->
    19411941    'a1) -> subaddressing_mode -> 'a1 **)
    1942 let rec subaddressing_mode_rect_Type3 n l h_mk_subaddressing_mode x_22562 =
    1943   let subaddressing_modeel = x_22562 in
     1942let rec subaddressing_mode_rect_Type3 n l h_mk_subaddressing_mode x_22688 =
     1943  let subaddressing_modeel = x_22688 in
    19441944  h_mk_subaddressing_mode subaddressing_modeel __
    19451945
     
    19471947    Nat.nat -> addressing_mode_tag Vector.vector -> (addressing_mode -> __ ->
    19481948    'a1) -> subaddressing_mode -> 'a1 **)
    1949 let rec subaddressing_mode_rect_Type2 n l h_mk_subaddressing_mode x_22564 =
    1950   let subaddressing_modeel = x_22564 in
     1949let rec subaddressing_mode_rect_Type2 n l h_mk_subaddressing_mode x_22690 =
     1950  let subaddressing_modeel = x_22690 in
    19511951  h_mk_subaddressing_mode subaddressing_modeel __
    19521952
     
    19541954    Nat.nat -> addressing_mode_tag Vector.vector -> (addressing_mode -> __ ->
    19551955    'a1) -> subaddressing_mode -> 'a1 **)
    1956 let rec subaddressing_mode_rect_Type1 n l h_mk_subaddressing_mode x_22566 =
    1957   let subaddressing_modeel = x_22566 in
     1956let rec subaddressing_mode_rect_Type1 n l h_mk_subaddressing_mode x_22692 =
     1957  let subaddressing_modeel = x_22692 in
    19581958  h_mk_subaddressing_mode subaddressing_modeel __
    19591959
     
    19611961    Nat.nat -> addressing_mode_tag Vector.vector -> (addressing_mode -> __ ->
    19621962    'a1) -> subaddressing_mode -> 'a1 **)
    1963 let rec subaddressing_mode_rect_Type0 n l h_mk_subaddressing_mode x_22568 =
    1964   let subaddressing_modeel = x_22568 in
     1963let rec subaddressing_mode_rect_Type0 n l h_mk_subaddressing_mode x_22694 =
     1964  let subaddressing_modeel = x_22694 in
    19651965  h_mk_subaddressing_mode subaddressing_modeel __
    19661966
     
    22882288    'a2 -> 'a2 -> (subaddressing_mode -> 'a2) -> 'a1 preinstruction -> 'a2 **)
    22892289let 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
    2290 | ADD (x_22670, x_22669) -> h_ADD x_22670 x_22669
    2291 | ADDC (x_22672, x_22671) -> h_ADDC x_22672 x_22671
    2292 | SUBB (x_22674, x_22673) -> h_SUBB x_22674 x_22673
    2293 | INC x_22675 -> h_INC x_22675
    2294 | DEC x_22676 -> h_DEC x_22676
    2295 | MUL (x_22678, x_22677) -> h_MUL x_22678 x_22677
    2296 | DIV (x_22680, x_22679) -> h_DIV x_22680 x_22679
    2297 | DA x_22681 -> h_DA x_22681
    2298 | JC x_22682 -> h_JC x_22682
    2299 | JNC x_22683 -> h_JNC x_22683
    2300 | JB (x_22685, x_22684) -> h_JB x_22685 x_22684
    2301 | JNB (x_22687, x_22686) -> h_JNB x_22687 x_22686
    2302 | JBC (x_22689, x_22688) -> h_JBC x_22689 x_22688
    2303 | JZ x_22690 -> h_JZ x_22690
    2304 | JNZ x_22691 -> h_JNZ x_22691
    2305 | CJNE (x_22693, x_22692) -> h_CJNE x_22693 x_22692
    2306 | DJNZ (x_22695, x_22694) -> h_DJNZ x_22695 x_22694
    2307 | ANL x_22696 -> h_ANL x_22696
    2308 | ORL x_22697 -> h_ORL x_22697
    2309 | XRL x_22698 -> h_XRL x_22698
    2310 | CLR x_22699 -> h_CLR x_22699
    2311 | CPL x_22700 -> h_CPL x_22700
    2312 | RL x_22701 -> h_RL x_22701
    2313 | RLC x_22702 -> h_RLC x_22702
    2314 | RR x_22703 -> h_RR x_22703
    2315 | RRC x_22704 -> h_RRC x_22704
    2316 | SWAP x_22705 -> h_SWAP x_22705
    2317 | MOV x_22706 -> h_MOV x_22706
    2318 | MOVX x_22707 -> h_MOVX x_22707
    2319 | SETB x_22708 -> h_SETB x_22708
    2320 | PUSH x_22709 -> h_PUSH x_22709
    2321 | POP x_22710 -> h_POP x_22710
    2322 | XCH (x_22712, x_22711) -> h_XCH x_22712 x_22711
    2323 | XCHD (x_22714, x_22713) -> h_XCHD x_22714 x_22713
     2290| ADD (x_22796, x_22795) -> h_ADD x_22796 x_22795
     2291| ADDC (x_22798, x_22797) -> h_ADDC x_22798 x_22797
     2292| SUBB (x_22800, x_22799) -> h_SUBB x_22800 x_22799
     2293| INC x_22801 -> h_INC x_22801
     2294| DEC x_22802 -> h_DEC x_22802
     2295| MUL (x_22804, x_22803) -> h_MUL x_22804 x_22803
     2296| DIV (x_22806, x_22805) -> h_DIV x_22806 x_22805
     2297| DA x_22807 -> h_DA x_22807
     2298| JC x_22808 -> h_JC x_22808
     2299| JNC x_22809 -> h_JNC x_22809
     2300| JB (x_22811, x_22810) -> h_JB x_22811 x_22810
     2301| JNB (x_22813, x_22812) -> h_JNB x_22813 x_22812
     2302| JBC (x_22815, x_22814) -> h_JBC x_22815 x_22814
     2303| JZ x_22816 -> h_JZ x_22816
     2304| JNZ x_22817 -> h_JNZ x_22817
     2305| CJNE (x_22819, x_22818) -> h_CJNE x_22819 x_22818
     2306| DJNZ (x_22821, x_22820) -> h_DJNZ x_22821 x_22820
     2307| ANL x_22822 -> h_ANL x_22822
     2308| ORL x_22823 -> h_ORL x_22823
     2309| XRL x_22824 -> h_XRL x_22824
     2310| CLR x_22825 -> h_CLR x_22825
     2311| CPL x_22826 -> h_CPL x_22826
     2312| RL x_22827 -> h_RL x_22827
     2313| RLC x_22828 -> h_RLC x_22828
     2314| RR x_22829 -> h_RR x_22829
     2315| RRC x_22830 -> h_RRC x_22830
     2316| SWAP x_22831 -> h_SWAP x_22831
     2317| MOV x_22832 -> h_MOV x_22832
     2318| MOVX x_22833 -> h_MOVX x_22833
     2319| SETB x_22834 -> h_SETB x_22834
     2320| PUSH x_22835 -> h_PUSH x_22835
     2321| POP x_22836 -> h_POP x_22836
     2322| XCH (x_22838, x_22837) -> h_XCH x_22838 x_22837
     2323| XCHD (x_22840, x_22839) -> h_XCHD x_22840 x_22839
    23242324| RET -> h_RET
    23252325| RETI -> h_RETI
    23262326| NOP -> h_NOP
    2327 | JMP x_22715 -> h_JMP x_22715
     2327| JMP x_22841 -> h_JMP x_22841
    23282328
    23292329(** val preinstruction_rect_Type5 :
     
    23632363    'a2 -> 'a2 -> (subaddressing_mode -> 'a2) -> 'a1 preinstruction -> 'a2 **)
    23642364let 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
    2365 | ADD (x_22756, x_22755) -> h_ADD x_22756 x_22755
    2366 | ADDC (x_22758, x_22757) -> h_ADDC x_22758 x_22757
    2367 | SUBB (x_22760, x_22759) -> h_SUBB x_22760 x_22759
    2368 | INC x_22761 -> h_INC x_22761
    2369 | DEC x_22762 -> h_DEC x_22762
    2370 | MUL (x_22764, x_22763) -> h_MUL x_22764 x_22763
    2371 | DIV (x_22766, x_22765) -> h_DIV x_22766 x_22765
    2372 | DA x_22767 -> h_DA x_22767
    2373 | JC x_22768 -> h_JC x_22768
    2374 | JNC x_22769 -> h_JNC x_22769
    2375 | JB (x_22771, x_22770) -> h_JB x_22771 x_22770
    2376 | JNB (x_22773, x_22772) -> h_JNB x_22773 x_22772
    2377 | JBC (x_22775, x_22774) -> h_JBC x_22775 x_22774
    2378 | JZ x_22776 -> h_JZ x_22776
    2379 | JNZ x_22777 -> h_JNZ x_22777
    2380 | CJNE (x_22779, x_22778) -> h_CJNE x_22779 x_22778
    2381 | DJNZ (x_22781, x_22780) -> h_DJNZ x_22781 x_22780
    2382 | ANL x_22782 -> h_ANL x_22782
    2383 | ORL x_22783 -> h_ORL x_22783
    2384 | XRL x_22784 -> h_XRL x_22784
    2385 | CLR x_22785 -> h_CLR x_22785
    2386 | CPL x_22786 -> h_CPL x_22786
    2387 | RL x_22787 -> h_RL x_22787
    2388 | RLC x_22788 -> h_RLC x_22788
    2389 | RR x_22789 -> h_RR x_22789
    2390 | RRC x_22790 -> h_RRC x_22790
    2391 | SWAP x_22791 -> h_SWAP x_22791
    2392 | MOV x_22792 -> h_MOV x_22792
    2393 | MOVX x_22793 -> h_MOVX x_22793
    2394 | SETB x_22794 -> h_SETB x_22794
    2395 | PUSH x_22795 -> h_PUSH x_22795
    2396 | POP x_22796 -> h_POP x_22796
    2397 | XCH (x_22798, x_22797) -> h_XCH x_22798 x_22797
    2398 | XCHD (x_22800, x_22799) -> h_XCHD x_22800 x_22799
     2365| ADD (x_22882, x_22881) -> h_ADD x_22882 x_22881
     2366| ADDC (x_22884, x_22883) -> h_ADDC x_22884 x_22883
     2367| SUBB (x_22886, x_22885) -> h_SUBB x_22886 x_22885
     2368| INC x_22887 -> h_INC x_22887
     2369| DEC x_22888 -> h_DEC x_22888
     2370| MUL (x_22890, x_22889) -> h_MUL x_22890 x_22889
     2371| DIV (x_22892, x_22891) -> h_DIV x_22892 x_22891
     2372| DA x_22893 -> h_DA x_22893
     2373| JC x_22894 -> h_JC x_22894
     2374| JNC x_22895 -> h_JNC x_22895
     2375| JB (x_22897, x_22896) -> h_JB x_22897 x_22896
     2376| JNB (x_22899, x_22898) -> h_JNB x_22899 x_22898
     2377| JBC (x_22901, x_22900) -> h_JBC x_22901 x_22900
     2378| JZ x_22902 -> h_JZ x_22902
     2379| JNZ x_22903 -> h_JNZ x_22903
     2380| CJNE (x_22905, x_22904) -> h_CJNE x_22905 x_22904
     2381| DJNZ (x_22907, x_22906) -> h_DJNZ x_22907 x_22906
     2382| ANL x_22908 -> h_ANL x_22908
     2383| ORL x_22909 -> h_ORL x_22909
     2384| XRL x_22910 -> h_XRL x_22910
     2385| CLR x_22911 -> h_CLR x_22911
     2386| CPL x_22912 -> h_CPL x_22912
     2387| RL x_22913 -> h_RL x_22913
     2388| RLC x_22914 -> h_RLC x_22914
     2389| RR x_22915 -> h_RR x_22915
     2390| RRC x_22916 -> h_RRC x_22916
     2391| SWAP x_22917 -> h_SWAP x_22917
     2392| MOV x_22918 -> h_MOV x_22918
     2393| MOVX x_22919 -> h_MOVX x_22919
     2394| SETB x_22920 -> h_SETB x_22920
     2395| PUSH x_22921 -> h_PUSH x_22921
     2396| POP x_22922 -> h_POP x_22922
     2397| XCH (x_22924, x_22923) -> h_XCH x_22924 x_22923
     2398| XCHD (x_22926, x_22925) -> h_XCHD x_22926 x_22925
    23992399| RET -> h_RET
    24002400| RETI -> h_RETI
    24012401| NOP -> h_NOP
    2402 | JMP x_22801 -> h_JMP x_22801
     2402| JMP x_22927 -> h_JMP x_22927
    24032403
    24042404(** val preinstruction_rect_Type3 :
     
    24382438    'a2 -> 'a2 -> (subaddressing_mode -> 'a2) -> 'a1 preinstruction -> 'a2 **)
    24392439let 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
    2440 | ADD (x_22842, x_22841) -> h_ADD x_22842 x_22841
    2441 | ADDC (x_22844, x_22843) -> h_ADDC x_22844 x_22843
    2442 | SUBB (x_22846, x_22845) -> h_SUBB x_22846 x_22845
    2443 | INC x_22847 -> h_INC x_22847
    2444 | DEC x_22848 -> h_DEC x_22848
    2445 | MUL (x_22850, x_22849) -> h_MUL x_22850 x_22849
    2446 | DIV (x_22852, x_22851) -> h_DIV x_22852 x_22851
    2447 | DA x_22853 -> h_DA x_22853
    2448 | JC x_22854 -> h_JC x_22854
    2449 | JNC x_22855 -> h_JNC x_22855
    2450 | JB (x_22857, x_22856) -> h_JB x_22857 x_22856
    2451 | JNB (x_22859, x_22858) -> h_JNB x_22859 x_22858
    2452 | JBC (x_22861, x_22860) -> h_JBC x_22861 x_22860
    2453 | JZ x_22862 -> h_JZ x_22862
    2454 | JNZ x_22863 -> h_JNZ x_22863
    2455 | CJNE (x_22865, x_22864) -> h_CJNE x_22865 x_22864
    2456 | DJNZ (x_22867, x_22866) -> h_DJNZ x_22867 x_22866
    2457 | ANL x_22868 -> h_ANL x_22868
    2458 | ORL x_22869 -> h_ORL x_22869
    2459 | XRL x_22870 -> h_XRL x_22870
    2460 | CLR x_22871 -> h_CLR x_22871
    2461 | CPL x_22872 -> h_CPL x_22872
    2462 | RL x_22873 -> h_RL x_22873
    2463 | RLC x_22874 -> h_RLC x_22874
    2464 | RR x_22875 -> h_RR x_22875
    2465 | RRC x_22876 -> h_RRC x_22876
    2466 | SWAP x_22877 -> h_SWAP x_22877
    2467 | MOV x_22878 -> h_MOV x_22878
    2468 | MOVX x_22879 -> h_MOVX x_22879
    2469 | SETB x_22880 -> h_SETB x_22880
    2470 | PUSH x_22881 -> h_PUSH x_22881
    2471 | POP x_22882 -> h_POP x_22882
    2472 | XCH (x_22884, x_22883) -> h_XCH x_22884 x_22883
    2473 | XCHD (x_22886, x_22885) -> h_XCHD x_22886 x_22885
     2440| ADD (x_22968, x_22967) -> h_ADD x_22968 x_22967
     2441| ADDC (x_22970, x_22969) -> h_ADDC x_22970 x_22969
     2442| SUBB (x_22972, x_22971) -> h_SUBB x_22972 x_22971
     2443| INC x_22973 -> h_INC x_22973
     2444| DEC x_22974 -> h_DEC x_22974
     2445| MUL (x_22976, x_22975) -> h_MUL x_22976 x_22975
     2446| DIV (x_22978, x_22977) -> h_DIV x_22978 x_22977
     2447| DA x_22979 -> h_DA x_22979
     2448| JC x_22980 -> h_JC x_22980
     2449| JNC x_22981 -> h_JNC x_22981
     2450| JB (x_22983, x_22982) -> h_JB x_22983 x_22982
     2451| JNB (x_22985, x_22984) -> h_JNB x_22985 x_22984
     2452| JBC (x_22987, x_22986) -> h_JBC x_22987 x_22986
     2453| JZ x_22988 -> h_JZ x_22988
     2454| JNZ x_22989 -> h_JNZ x_22989
     2455| CJNE (x_22991, x_22990) -> h_CJNE x_22991 x_22990
     2456| DJNZ (x_22993, x_22992) -> h_DJNZ x_22993 x_22992
     2457| ANL x_22994 -> h_ANL x_22994
     2458| ORL x_22995 -> h_ORL x_22995
     2459| XRL x_22996 -> h_XRL x_22996
     2460| CLR x_22997 -> h_CLR x_22997
     2461| CPL x_22998 -> h_CPL x_22998
     2462| RL x_22999 -> h_RL x_22999
     2463| RLC x_23000 -> h_RLC x_23000
     2464| RR x_23001 -> h_RR x_23001
     2465| RRC x_23002 -> h_RRC x_23002
     2466| SWAP x_23003 -> h_SWAP x_23003
     2467| MOV x_23004 -> h_MOV x_23004
     2468| MOVX x_23005 -> h_MOVX x_23005
     2469| SETB x_23006 -> h_SETB x_23006
     2470| PUSH x_23007 -> h_PUSH x_23007
     2471| POP x_23008 -> h_POP x_23008
     2472| XCH (x_23010, x_23009) -> h_XCH x_23010 x_23009
     2473| XCHD (x_23012, x_23011) -> h_XCHD x_23012 x_23011
    24742474| RET -> h_RET
    24752475| RETI -> h_RETI
    24762476| NOP -> h_NOP
    2477 | JMP x_22887 -> h_JMP x_22887
     2477| JMP x_23013 -> h_JMP x_23013
    24782478
    24792479(** val preinstruction_rect_Type2 :
     
    25132513    'a2 -> 'a2 -> (subaddressing_mode -> 'a2) -> 'a1 preinstruction -> 'a2 **)
    25142514let 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
    2515 | ADD (x_22928, x_22927) -> h_ADD x_22928 x_22927
    2516 | ADDC (x_22930, x_22929) -> h_ADDC x_22930 x_22929
    2517 | SUBB (x_22932, x_22931) -> h_SUBB x_22932 x_22931
    2518 | INC x_22933 -> h_INC x_22933
    2519 | DEC x_22934 -> h_DEC x_22934
    2520 | MUL (x_22936, x_22935) -> h_MUL x_22936 x_22935
    2521 | DIV (x_22938, x_22937) -> h_DIV x_22938 x_22937
    2522 | DA x_22939 -> h_DA x_22939
    2523 | JC x_22940 -> h_JC x_22940
    2524 | JNC x_22941 -> h_JNC x_22941
    2525 | JB (x_22943, x_22942) -> h_JB x_22943 x_22942
    2526 | JNB (x_22945, x_22944) -> h_JNB x_22945 x_22944
    2527 | JBC (x_22947, x_22946) -> h_JBC x_22947 x_22946
    2528 | JZ x_22948 -> h_JZ x_22948
    2529 | JNZ x_22949 -> h_JNZ x_22949
    2530 | CJNE (x_22951, x_22950) -> h_CJNE x_22951 x_22950
    2531 | DJNZ (x_22953, x_22952) -> h_DJNZ x_22953 x_22952
    2532 | ANL x_22954 -> h_ANL x_22954
    2533 | ORL x_22955 -> h_ORL x_22955
    2534 | XRL x_22956 -> h_XRL x_22956
    2535 | CLR x_22957 -> h_CLR x_22957
    2536 | CPL x_22958 -> h_CPL x_22958
    2537 | RL x_22959 -> h_RL x_22959
    2538 | RLC x_22960 -> h_RLC x_22960
    2539 | RR x_22961 -> h_RR x_22961
    2540 | RRC x_22962 -> h_RRC x_22962
    2541 | SWAP x_22963 -> h_SWAP x_22963
    2542 | MOV x_22964 -> h_MOV x_22964
    2543 | MOVX x_22965 -> h_MOVX x_22965
    2544 | SETB x_22966 -> h_SETB x_22966
    2545 | PUSH x_22967 -> h_PUSH x_22967
    2546 | POP x_22968 -> h_POP x_22968
    2547 | XCH (x_22970, x_22969) -> h_XCH x_22970 x_22969
    2548 | XCHD (x_22972, x_22971) -> h_XCHD x_22972 x_22971
     2515| ADD (x_23054, x_23053) -> h_ADD x_23054 x_23053
     2516| ADDC (x_23056, x_23055) -> h_ADDC x_23056 x_23055
     2517| SUBB (x_23058, x_23057) -> h_SUBB x_23058 x_23057
     2518| INC x_23059 -> h_INC x_23059
     2519| DEC x_23060 -> h_DEC x_23060
     2520| MUL (x_23062, x_23061) -> h_MUL x_23062 x_23061
     2521| DIV (x_23064, x_23063) -> h_DIV x_23064 x_23063
     2522| DA x_23065 -> h_DA x_23065
     2523| JC x_23066 -> h_JC x_23066
     2524| JNC x_23067 -> h_JNC x_23067
     2525| JB (x_23069, x_23068) -> h_JB x_23069 x_23068
     2526| JNB (x_23071, x_23070) -> h_JNB x_23071 x_23070
     2527| JBC (x_23073, x_23072) -> h_JBC x_23073 x_23072
     2528| JZ x_23074 -> h_JZ x_23074
     2529| JNZ x_23075 -> h_JNZ x_23075
     2530| CJNE (x_23077, x_23076) -> h_CJNE x_23077 x_23076
     2531| DJNZ (x_23079, x_23078) -> h_DJNZ x_23079 x_23078
     2532| ANL x_23080 -> h_ANL x_23080
     2533| ORL x_23081 -> h_ORL x_23081
     2534| XRL x_23082 -> h_XRL x_23082
     2535| CLR x_23083 -> h_CLR x_23083
     2536| CPL x_23084 -> h_CPL x_23084
     2537| RL x_23085 -> h_RL x_23085
     2538| RLC x_23086 -> h_RLC x_23086
     2539| RR x_23087 -> h_RR x_23087
     2540| RRC x_23088 -> h_RRC x_23088
     2541| SWAP x_23089 -> h_SWAP x_23089
     2542| MOV x_23090 -> h_MOV x_23090
     2543| MOVX x_23091 -> h_MOVX x_23091
     2544| SETB x_23092 -> h_SETB x_23092
     2545| PUSH x_23093 -> h_PUSH x_23093
     2546| POP x_23094 -> h_POP x_23094
     2547| XCH (x_23096, x_23095) -> h_XCH x_23096 x_23095
     2548| XCHD (x_23098, x_23097) -> h_XCHD x_23098 x_23097
    25492549| RET -> h_RET
    25502550| RETI -> h_RETI
    25512551| NOP -> h_NOP
    2552 | JMP x_22973 -> h_JMP x_22973
     2552| JMP x_23099 -> h_JMP x_23099
    25532553
    25542554(** val preinstruction_rect_Type1 :
     
    25882588    'a2 -> 'a2 -> (subaddressing_mode -> 'a2) -> 'a1 preinstruction -> 'a2 **)
    25892589let 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
    2590 | ADD (x_23014, x_23013) -> h_ADD x_23014 x_23013
    2591 | ADDC (x_23016, x_23015) -> h_ADDC x_23016 x_23015
    2592 | SUBB (x_23018, x_23017) -> h_SUBB x_23018 x_23017
    2593 | INC x_23019 -> h_INC x_23019
    2594 | DEC x_23020 -> h_DEC x_23020
    2595 | MUL (x_23022, x_23021) -> h_MUL x_23022 x_23021
    2596 | DIV (x_23024, x_23023) -> h_DIV x_23024 x_23023
    2597 | DA x_23025 -> h_DA x_23025
    2598 | JC x_23026 -> h_JC x_23026
    2599 | JNC x_23027 -> h_JNC x_23027
    2600 | JB (x_23029, x_23028) -> h_JB x_23029 x_23028
    2601 | JNB (x_23031, x_23030) -> h_JNB x_23031 x_23030
    2602 | JBC (x_23033, x_23032) -> h_JBC x_23033 x_23032
    2603 | JZ x_23034 -> h_JZ x_23034
    2604 | JNZ x_23035 -> h_JNZ x_23035
    2605 | CJNE (x_23037, x_23036) -> h_CJNE x_23037 x_23036
    2606 | DJNZ (x_23039, x_23038) -> h_DJNZ x_23039 x_23038
    2607 | ANL x_23040 -> h_ANL x_23040
    2608 | ORL x_23041 -> h_ORL x_23041
    2609 | XRL x_23042 -> h_XRL x_23042
    2610 | CLR x_23043 -> h_CLR x_23043
    2611 | CPL x_23044 -> h_CPL x_23044
    2612 | RL x_23045 -> h_RL x_23045
    2613 | RLC x_23046 -> h_RLC x_23046
    2614 | RR x_23047 -> h_RR x_23047
    2615 | RRC x_23048 -> h_RRC x_23048
    2616 | SWAP x_23049 -> h_SWAP x_23049
    2617 | MOV x_23050 -> h_MOV x_23050
    2618 | MOVX x_23051 -> h_MOVX x_23051
    2619 | SETB x_23052 -> h_SETB x_23052
    2620 | PUSH x_23053 -> h_PUSH x_23053
    2621 | POP x_23054 -> h_POP x_23054
    2622 | XCH (x_23056, x_23055) -> h_XCH x_23056 x_23055
    2623 | XCHD (x_23058, x_23057) -> h_XCHD x_23058 x_23057
     2590| ADD (x_23140, x_23139) -> h_ADD x_23140 x_23139
     2591| ADDC (x_23142, x_23141) -> h_ADDC x_23142 x_23141
     2592| SUBB (x_23144, x_23143) -> h_SUBB x_23144 x_23143
     2593| INC x_23145 -> h_INC x_23145
     2594| DEC x_23146 -> h_DEC x_23146
     2595| MUL (x_23148, x_23147) -> h_MUL x_23148 x_23147
     2596| DIV (x_23150, x_23149) -> h_DIV x_23150 x_23149
     2597| DA x_23151 -> h_DA x_23151
     2598| JC x_23152 -> h_JC x_23152
     2599| JNC x_23153 -> h_JNC x_23153
     2600| JB (x_23155, x_23154) -> h_JB x_23155 x_23154
     2601| JNB (x_23157, x_23156) -> h_JNB x_23157 x_23156
     2602| JBC (x_23159, x_23158) -> h_JBC x_23159 x_23158
     2603| JZ x_23160 -> h_JZ x_23160
     2604| JNZ x_23161 -> h_JNZ x_23161
     2605| CJNE (x_23163, x_23162) -> h_CJNE x_23163 x_23162
     2606| DJNZ (x_23165, x_23164) -> h_DJNZ x_23165 x_23164
     2607| ANL x_23166 -> h_ANL x_23166
     2608| ORL x_23167 -> h_ORL x_23167
     2609| XRL x_23168 -> h_XRL x_23168
     2610| CLR x_23169 -> h_CLR x_23169
     2611| CPL x_23170 -> h_CPL x_23170
     2612| RL x_23171 -> h_RL x_23171
     2613| RLC x_23172 -> h_RLC x_23172
     2614| RR x_23173 -> h_RR x_23173
     2615| RRC x_23174 -> h_RRC x_23174
     2616| SWAP x_23175 -> h_SWAP x_23175
     2617| MOV x_23176 -> h_MOV x_23176
     2618| MOVX x_23177 -> h_MOVX x_23177
     2619| SETB x_23178 -> h_SETB x_23178
     2620| PUSH x_23179 -> h_PUSH x_23179
     2621| POP x_23180 -> h_POP x_23180
     2622| XCH (x_23182, x_23181) -> h_XCH x_23182 x_23181
     2623| XCHD (x_23184, x_23183) -> h_XCHD x_23184 x_23183
    26242624| RET -> h_RET
    26252625| RETI -> h_RETI
    26262626| NOP -> h_NOP
    2627 | JMP x_23059 -> h_JMP x_23059
     2627| JMP x_23185 -> h_JMP x_23185
    26282628
    26292629(** val preinstruction_rect_Type0 :
     
    26632663    'a2 -> 'a2 -> (subaddressing_mode -> 'a2) -> 'a1 preinstruction -> 'a2 **)
    26642664let 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
    2665 | ADD (x_23100, x_23099) -> h_ADD x_23100 x_23099
    2666 | ADDC (x_23102, x_23101) -> h_ADDC x_23102 x_23101
    2667 | SUBB (x_23104, x_23103) -> h_SUBB x_23104 x_23103
    2668 | INC x_23105 -> h_INC x_23105
    2669 | DEC x_23106 -> h_DEC x_23106
    2670 | MUL (x_23108, x_23107) -> h_MUL x_23108 x_23107
    2671 | DIV (x_23110, x_23109) -> h_DIV x_23110 x_23109
    2672 | DA x_23111 -> h_DA x_23111
    2673 | JC x_23112 -> h_JC x_23112
    2674 | JNC x_23113 -> h_JNC x_23113
    2675 | JB (x_23115, x_23114) -> h_JB x_23115 x_23114
    2676 | JNB (x_23117, x_23116) -> h_JNB x_23117 x_23116
    2677 | JBC (x_23119, x_23118) -> h_JBC x_23119 x_23118
    2678 | JZ x_23120 -> h_JZ x_23120
    2679 | JNZ x_23121 -> h_JNZ x_23121
    2680 | CJNE (x_23123, x_23122) -> h_CJNE x_23123 x_23122
    2681 | DJNZ (x_23125, x_23124) -> h_DJNZ x_23125 x_23124
    2682 | ANL x_23126 -> h_ANL x_23126
    2683 | ORL x_23127 -> h_ORL x_23127
    2684 | XRL x_23128 -> h_XRL x_23128
    2685 | CLR x_23129 -> h_CLR x_23129
    2686 | CPL x_23130 -> h_CPL x_23130
    2687 | RL x_23131 -> h_RL x_23131
    2688 | RLC x_23132 -> h_RLC x_23132
    2689 | RR x_23133 -> h_RR x_23133
    2690 | RRC x_23134 -> h_RRC x_23134
    2691 | SWAP x_23135 -> h_SWAP x_23135
    2692 | MOV x_23136 -> h_MOV x_23136
    2693 | MOVX x_23137 -> h_MOVX x_23137
    2694 | SETB x_23138 -> h_SETB x_23138
    2695 | PUSH x_23139 -> h_PUSH x_23139
    2696 | POP x_23140 -> h_POP x_23140
    2697 | XCH (x_23142, x_23141) -> h_XCH x_23142 x_23141
    2698 | XCHD (x_23144, x_23143) -> h_XCHD x_23144 x_23143
     2665| ADD (x_23226, x_23225) -> h_ADD x_23226 x_23225
     2666| ADDC (x_23228, x_23227) -> h_ADDC x_23228 x_23227
     2667| SUBB (x_23230, x_23229) -> h_SUBB x_23230 x_23229
     2668| INC x_23231 -> h_INC x_23231
     2669| DEC x_23232 -> h_DEC x_23232
     2670| MUL (x_23234, x_23233) -> h_MUL x_23234 x_23233
     2671| DIV (x_23236, x_23235) -> h_DIV x_23236 x_23235
     2672| DA x_23237 -> h_DA x_23237
     2673| JC x_23238 -> h_JC x_23238
     2674| JNC x_23239 -> h_JNC x_23239
     2675| JB (x_23241, x_23240) -> h_JB x_23241 x_23240
     2676| JNB (x_23243, x_23242) -> h_JNB x_23243 x_23242
     2677| JBC (x_23245, x_23244) -> h_JBC x_23245 x_23244
     2678| JZ x_23246 -> h_JZ x_23246
     2679| JNZ x_23247 -> h_JNZ x_23247
     2680| CJNE (x_23249, x_23248) -> h_CJNE x_23249 x_23248
     2681| DJNZ (x_23251, x_23250) -> h_DJNZ x_23251 x_23250
     2682| ANL x_23252 -> h_ANL x_23252
     2683| ORL x_23253 -> h_ORL x_23253
     2684| XRL x_23254 -> h_XRL x_23254
     2685| CLR x_23255 -> h_CLR x_23255
     2686| CPL x_23256 -> h_CPL x_23256
     2687| RL x_23257 -> h_RL x_23257
     2688| RLC x_23258 -> h_RLC x_23258
     2689| RR x_23259 -> h_RR x_23259
     2690| RRC x_23260 -> h_RRC x_23260
     2691| SWAP x_23261 -> h_SWAP x_23261
     2692| MOV x_23262 -> h_MOV x_23262
     2693| MOVX x_23263 -> h_MOVX x_23263
     2694| SETB x_23264 -> h_SETB x_23264
     2695| PUSH x_23265 -> h_PUSH x_23265
     2696| POP x_23266 -> h_POP x_23266
     2697| XCH (x_23268, x_23267) -> h_XCH x_23268 x_23267
     2698| XCHD (x_23270, x_23269) -> h_XCHD x_23270 x_23269
    26992699| RET -> h_RET
    27002700| RETI -> h_RETI
    27012701| NOP -> h_NOP
    2702 | JMP x_23145 -> h_JMP x_23145
     2702| JMP x_23271 -> h_JMP x_23271
    27032703
    27042704(** val preinstruction_inv_rect_Type4 :
     
    51045104    'a1 **)
    51055105let rec instruction_rect_Type4 h_ACALL h_LCALL h_AJMP h_LJMP h_SJMP h_MOVC h_RealInstruction = function
    5106 | ACALL x_23717 -> h_ACALL x_23717
    5107 | LCALL x_23718 -> h_LCALL x_23718
    5108 | AJMP x_23719 -> h_AJMP x_23719
    5109 | LJMP x_23720 -> h_LJMP x_23720
    5110 | SJMP x_23721 -> h_SJMP x_23721
    5111 | MOVC (x_23723, x_23722) -> h_MOVC x_23723 x_23722
    5112 | RealInstruction x_23724 -> h_RealInstruction x_23724
     5106| ACALL x_23843 -> h_ACALL x_23843
     5107| LCALL x_23844 -> h_LCALL x_23844
     5108| AJMP x_23845 -> h_AJMP x_23845
     5109| LJMP x_23846 -> h_LJMP x_23846
     5110| SJMP x_23847 -> h_SJMP x_23847
     5111| MOVC (x_23849, x_23848) -> h_MOVC x_23849 x_23848
     5112| RealInstruction x_23850 -> h_RealInstruction x_23850
    51135113
    51145114(** val instruction_rect_Type5 :
     
    51195119    'a1 **)
    51205120let rec instruction_rect_Type5 h_ACALL h_LCALL h_AJMP h_LJMP h_SJMP h_MOVC h_RealInstruction = function
    5121 | ACALL x_23733 -> h_ACALL x_23733
    5122 | LCALL x_23734 -> h_LCALL x_23734
    5123 | AJMP x_23735 -> h_AJMP x_23735
    5124 | LJMP x_23736 -> h_LJMP x_23736
    5125 | SJMP x_23737 -> h_SJMP x_23737
    5126 | MOVC (x_23739, x_23738) -> h_MOVC x_23739 x_23738
    5127 | RealInstruction x_23740 -> h_RealInstruction x_23740
     5121| ACALL x_23859 -> h_ACALL x_23859
     5122| LCALL x_23860 -> h_LCALL x_23860
     5123| AJMP x_23861 -> h_AJMP x_23861
     5124| LJMP x_23862 -> h_LJMP x_23862
     5125| SJMP x_23863 -> h_SJMP x_23863
     5126| MOVC (x_23865, x_23864) -> h_MOVC x_23865 x_23864
     5127| RealInstruction x_23866 -> h_RealInstruction x_23866
    51285128
    51295129(** val instruction_rect_Type3 :
     
    51345134    'a1 **)
    51355135let rec instruction_rect_Type3 h_ACALL h_LCALL h_AJMP h_LJMP h_SJMP h_MOVC h_RealInstruction = function
    5136 | ACALL x_23749 -> h_ACALL x_23749
    5137 | LCALL x_23750 -> h_LCALL x_23750
    5138 | AJMP x_23751 -> h_AJMP x_23751
    5139 | LJMP x_23752 -> h_LJMP x_23752
    5140 | SJMP x_23753 -> h_SJMP x_23753
    5141 | MOVC (x_23755, x_23754) -> h_MOVC x_23755 x_23754
    5142 | RealInstruction x_23756 -> h_RealInstruction x_23756
     5136| ACALL x_23875 -> h_ACALL x_23875
     5137| LCALL x_23876 -> h_LCALL x_23876
     5138| AJMP x_23877 -> h_AJMP x_23877
     5139| LJMP x_23878 -> h_LJMP x_23878
     5140| SJMP x_23879 -> h_SJMP x_23879
     5141| MOVC (x_23881, x_23880) -> h_MOVC x_23881 x_23880
     5142| RealInstruction x_23882 -> h_RealInstruction x_23882
    51435143
    51445144(** val instruction_rect_Type2 :
     
    51495149    'a1 **)
    51505150let rec instruction_rect_Type2 h_ACALL h_LCALL h_AJMP h_LJMP h_SJMP h_MOVC h_RealInstruction = function
    5151 | ACALL x_23765 -> h_ACALL x_23765
    5152 | LCALL x_23766 -> h_LCALL x_23766
    5153 | AJMP x_23767 -> h_AJMP x_23767
    5154 | LJMP x_23768 -> h_LJMP x_23768
    5155 | SJMP x_23769 -> h_SJMP x_23769
    5156 | MOVC (x_23771, x_23770) -> h_MOVC x_23771 x_23770
    5157 | RealInstruction x_23772 -> h_RealInstruction x_23772
     5151| ACALL x_23891 -> h_ACALL x_23891
     5152| LCALL x_23892 -> h_LCALL x_23892
     5153| AJMP x_23893 -> h_AJMP x_23893
     5154| LJMP x_23894 -> h_LJMP x_23894
     5155| SJMP x_23895 -> h_SJMP x_23895
     5156| MOVC (x_23897, x_23896) -> h_MOVC x_23897 x_23896
     5157| RealInstruction x_23898 -> h_RealInstruction x_23898
    51585158
    51595159(** val instruction_rect_Type1 :
     
    51645164    'a1 **)
    51655165let rec instruction_rect_Type1 h_ACALL h_LCALL h_AJMP h_LJMP h_SJMP h_MOVC h_RealInstruction = function
    5166 | ACALL x_23781 -> h_ACALL x_23781
    5167 | LCALL x_23782 -> h_LCALL x_23782
    5168 | AJMP x_23783 -> h_AJMP x_23783
    5169 | LJMP x_23784 -> h_LJMP x_23784
    5170 | SJMP x_23785 -> h_SJMP x_23785
    5171 | MOVC (x_23787, x_23786) -> h_MOVC x_23787 x_23786
    5172 | RealInstruction x_23788 -> h_RealInstruction x_23788
     5166| ACALL x_23907 -> h_ACALL x_23907
     5167| LCALL x_23908 -> h_LCALL x_23908
     5168| AJMP x_23909 -> h_AJMP x_23909
     5169| LJMP x_23910 -> h_LJMP x_23910
     5170| SJMP x_23911 -> h_SJMP x_23911
     5171| MOVC (x_23913, x_23912) -> h_MOVC x_23913 x_23912
     5172| RealInstruction x_23914 -> h_RealInstruction x_23914
    51735173
    51745174(** val instruction_rect_Type0 :
     
    51795179    'a1 **)
    51805180let rec instruction_rect_Type0 h_ACALL h_LCALL h_AJMP h_LJMP h_SJMP h_MOVC h_RealInstruction = function
    5181 | ACALL x_23797 -> h_ACALL x_23797
    5182 | LCALL x_23798 -> h_LCALL x_23798
    5183 | AJMP x_23799 -> h_AJMP x_23799
    5184 | LJMP x_23800 -> h_LJMP x_23800
    5185 | SJMP x_23801 -> h_SJMP x_23801
    5186 | MOVC (x_23803, x_23802) -> h_MOVC x_23803 x_23802
    5187 | RealInstruction x_23804 -> h_RealInstruction x_23804
     5181| ACALL x_23923 -> h_ACALL x_23923
     5182| LCALL x_23924 -> h_LCALL x_23924
     5183| AJMP x_23925 -> h_AJMP x_23925
     5184| LJMP x_23926 -> h_LJMP x_23926
     5185| SJMP x_23927 -> h_SJMP x_23927
     5186| MOVC (x_23929, x_23928) -> h_MOVC x_23929 x_23928
     5187| RealInstruction x_23930 -> h_RealInstruction x_23930
    51885188
    51895189(** val instruction_inv_rect_Type4 :
     
    54765476    -> 'a1 **)
    54775477let rec pseudo_instruction_rect_Type4 h_Instruction h_Comment h_Cost h_Jmp h_Jnz h_MovSuccessor h_Call h_Mov = function
    5478 | Instruction x_23970 -> h_Instruction x_23970
    5479 | Comment x_23971 -> h_Comment x_23971
    5480 | Cost x_23972 -> h_Cost x_23972
    5481 | Jmp x_23973 -> h_Jmp x_23973
    5482 | Jnz (x_23976, x_23975, x_23974) -> h_Jnz x_23976 x_23975 x_23974
    5483 | MovSuccessor (x_23979, x_23978, x_23977) ->
    5484   h_MovSuccessor x_23979 x_23978 x_23977
    5485 | Call x_23980 -> h_Call x_23980
    5486 | Mov (x_23982, x_23981) -> h_Mov x_23982 x_23981
     5478| Instruction x_24096 -> h_Instruction x_24096
     5479| Comment x_24097 -> h_Comment x_24097
     5480| Cost x_24098 -> h_Cost x_24098
     5481| Jmp x_24099 -> h_Jmp x_24099
     5482| Jnz (x_24102, x_24101, x_24100) -> h_Jnz x_24102 x_24101 x_24100
     5483| MovSuccessor (x_24105, x_24104, x_24103) ->
     5484  h_MovSuccessor x_24105 x_24104 x_24103
     5485| Call x_24106 -> h_Call x_24106
     5486| Mov (x_24108, x_24107) -> h_Mov x_24108 x_24107
    54875487
    54885488(** val pseudo_instruction_rect_Type5 :
     
    54945494    -> 'a1 **)
    54955495let rec pseudo_instruction_rect_Type5 h_Instruction h_Comment h_Cost h_Jmp h_Jnz h_MovSuccessor h_Call h_Mov = function
    5496 | Instruction x_23992 -> h_Instruction x_23992
    5497 | Comment x_23993 -> h_Comment x_23993
    5498 | Cost x_23994 -> h_Cost x_23994
    5499 | Jmp x_23995 -> h_Jmp x_23995
    5500 | Jnz (x_23998, x_23997, x_23996) -> h_Jnz x_23998 x_23997 x_23996
    5501 | MovSuccessor (x_24001, x_24000, x_23999) ->
    5502   h_MovSuccessor x_24001 x_24000 x_23999
    5503 | Call x_24002 -> h_Call x_24002
    5504 | Mov (x_24004, x_24003) -> h_Mov x_24004 x_24003
     5496| Instruction x_24118 -> h_Instruction x_24118
     5497| Comment x_24119 -> h_Comment x_24119
     5498| Cost x_24120 -> h_Cost x_24120
     5499| Jmp x_24121 -> h_Jmp x_24121
     5500| Jnz (x_24124, x_24123, x_24122) -> h_Jnz x_24124 x_24123 x_24122
     5501| MovSuccessor (x_24127, x_24126, x_24125) ->
     5502  h_MovSuccessor x_24127 x_24126 x_24125
     5503| Call x_24128 -> h_Call x_24128
     5504| Mov (x_24130, x_24129) -> h_Mov x_24130 x_24129
    55055505
    55065506(** val pseudo_instruction_rect_Type3 :
     
    55125512    -> 'a1 **)
    55135513let rec pseudo_instruction_rect_Type3 h_Instruction h_Comment h_Cost h_Jmp h_Jnz h_MovSuccessor h_Call h_Mov = function
    5514 | Instruction x_24014 -> h_Instruction x_24014
    5515 | Comment x_24015 -> h_Comment x_24015
    5516 | Cost x_24016 -> h_Cost x_24016
    5517 | Jmp x_24017 -> h_Jmp x_24017
    5518 | Jnz (x_24020, x_24019, x_24018) -> h_Jnz x_24020 x_24019 x_24018
    5519 | MovSuccessor (x_24023, x_24022, x_24021) ->
    5520   h_MovSuccessor x_24023 x_24022 x_24021
    5521 | Call x_24024 -> h_Call x_24024
    5522 | Mov (x_24026, x_24025) -> h_Mov x_24026 x_24025
     5514| Instruction x_24140 -> h_Instruction x_24140
     5515| Comment x_24141 -> h_Comment x_24141
     5516| Cost x_24142 -> h_Cost x_24142
     5517| Jmp x_24143 -> h_Jmp x_24143
     5518| Jnz (x_24146, x_24145, x_24144) -> h_Jnz x_24146 x_24145 x_24144
     5519| MovSuccessor (x_24149, x_24148, x_24147) ->
     5520  h_MovSuccessor x_24149 x_24148 x_24147
     5521| Call x_24150 -> h_Call x_24150
     5522| Mov (x_24152, x_24151) -> h_Mov x_24152 x_24151
    55235523
    55245524(** val pseudo_instruction_rect_Type2 :
     
    55305530    -> 'a1 **)
    55315531let rec pseudo_instruction_rect_Type2 h_Instruction h_Comment h_Cost h_Jmp h_Jnz h_MovSuccessor h_Call h_Mov = function
    5532 | Instruction x_24036 -> h_Instruction x_24036
    5533 | Comment x_24037 -> h_Comment x_24037
    5534 | Cost x_24038 -> h_Cost x_24038
    5535 | Jmp x_24039 -> h_Jmp x_24039
    5536 | Jnz (x_24042, x_24041, x_24040) -> h_Jnz x_24042 x_24041 x_24040
    5537 | MovSuccessor (x_24045, x_24044, x_24043) ->
    5538   h_MovSuccessor x_24045 x_24044 x_24043
    5539 | Call x_24046 -> h_Call x_24046
    5540 | Mov (x_24048, x_24047) -> h_Mov x_24048 x_24047
     5532| Instruction x_24162 -> h_Instruction x_24162
     5533| Comment x_24163 -> h_Comment x_24163
     5534| Cost x_24164 -> h_Cost x_24164
     5535| Jmp x_24165 -> h_Jmp x_24165
     5536| Jnz (x_24168, x_24167, x_24166) -> h_Jnz x_24168 x_24167 x_24166
     5537| MovSuccessor (x_24171, x_24170, x_24169) ->
     5538  h_MovSuccessor x_24171 x_24170 x_24169
     5539| Call x_24172 -> h_Call x_24172
     5540| Mov (x_24174, x_24173) -> h_Mov x_24174 x_24173
    55415541
    55425542(** val pseudo_instruction_rect_Type1 :
     
    55485548    -> 'a1 **)
    55495549let rec pseudo_instruction_rect_Type1 h_Instruction h_Comment h_Cost h_Jmp h_Jnz h_MovSuccessor h_Call h_Mov = function
    5550 | Instruction x_24058 -> h_Instruction x_24058
    5551 | Comment x_24059 -> h_Comment x_24059
    5552 | Cost x_24060 -> h_Cost x_24060
    5553 | Jmp x_24061 -> h_Jmp x_24061
    5554 | Jnz (x_24064, x_24063, x_24062) -> h_Jnz x_24064 x_24063 x_24062
    5555 | MovSuccessor (x_24067, x_24066, x_24065) ->
    5556   h_MovSuccessor x_24067 x_24066 x_24065
    5557 | Call x_24068 -> h_Call x_24068
    5558 | Mov (x_24070, x_24069) -> h_Mov x_24070 x_24069
     5550| Instruction x_24184 -> h_Instruction x_24184
     5551| Comment x_24185 -> h_Comment x_24185
     5552| Cost x_24186 -> h_Cost x_24186
     5553| Jmp x_24187 -> h_Jmp x_24187
     5554| Jnz (x_24190, x_24189, x_24188) -> h_Jnz x_24190 x_24189 x_24188
     5555| MovSuccessor (x_24193, x_24192, x_24191) ->
     5556  h_MovSuccessor x_24193 x_24192 x_24191
     5557| Call x_24194 -> h_Call x_24194
     5558| Mov (x_24196, x_24195) -> h_Mov x_24196 x_24195
    55595559
    55605560(** val pseudo_instruction_rect_Type0 :
     
    55665566    -> 'a1 **)
    55675567let rec pseudo_instruction_rect_Type0 h_Instruction h_Comment h_Cost h_Jmp h_Jnz h_MovSuccessor h_Call h_Mov = function
    5568 | Instruction x_24080 -> h_Instruction x_24080
    5569 | Comment x_24081 -> h_Comment x_24081
    5570 | Cost x_24082 -> h_Cost x_24082
    5571 | Jmp x_24083 -> h_Jmp x_24083
    5572 | Jnz (x_24086, x_24085, x_24084) -> h_Jnz x_24086 x_24085 x_24084
    5573 | MovSuccessor (x_24089, x_24088, x_24087) ->
    5574   h_MovSuccessor x_24089 x_24088 x_24087
    5575 | Call x_24090 -> h_Call x_24090
    5576 | Mov (x_24092, x_24091) -> h_Mov x_24092 x_24091
     5568| Instruction x_24206 -> h_Instruction x_24206
     5569| Comment x_24207 -> h_Comment x_24207
     5570| Cost x_24208 -> h_Cost x_24208
     5571| Jmp x_24209 -> h_Jmp x_24209
     5572| Jnz (x_24212, x_24211, x_24210) -> h_Jnz x_24212 x_24211 x_24210
     5573| MovSuccessor (x_24215, x_24214, x_24213) ->
     5574  h_MovSuccessor x_24215 x_24214 x_24213
     5575| Call x_24216 -> h_Call x_24216
     5576| Mov (x_24218, x_24217) -> h_Mov x_24218 x_24217
    55775577
    55785578(** val pseudo_instruction_inv_rect_Type4 :
     
    57965796    Types.prod List.list -> identifier -> __ -> __ -> 'a1) ->
    57975797    pseudo_assembly_program -> 'a1 **)
    5798 let rec pseudo_assembly_program_rect_Type4 h_mk_pseudo_assembly_program x_24235 =
     5798let rec pseudo_assembly_program_rect_Type4 h_mk_pseudo_assembly_program x_24361 =
    57995799  let { preamble = preamble0; code = code0; renamed_symbols =
    5800     renamed_symbols0; final_label = final_label0 } = x_24235
     5800    renamed_symbols0; final_label = final_label0 } = x_24361
    58015801  in
    58025802  h_mk_pseudo_assembly_program preamble0 code0 __ renamed_symbols0
     
    58085808    Types.prod List.list -> identifier -> __ -> __ -> 'a1) ->
    58095809    pseudo_assembly_program -> 'a1 **)
    5810 let rec pseudo_assembly_program_rect_Type5 h_mk_pseudo_assembly_program x_24237 =
     5810let rec pseudo_assembly_program_rect_Type5 h_mk_pseudo_assembly_program x_24363 =
    58115811  let { preamble = preamble0; code = code0; renamed_symbols =
    5812     renamed_symbols0; final_label = final_label0 } = x_24237
     5812    renamed_symbols0; final_label = final_label0 } = x_24363
    58135813  in
    58145814  h_mk_pseudo_assembly_program preamble0 code0 __ renamed_symbols0
     
    58205820    Types.prod List.list -> identifier -> __ -> __ -> 'a1) ->
    58215821    pseudo_assembly_program -> 'a1 **)
    5822 let rec pseudo_assembly_program_rect_Type3 h_mk_pseudo_assembly_program x_24239 =
     5822let rec pseudo_assembly_program_rect_Type3 h_mk_pseudo_assembly_program x_24365 =
    58235823  let { preamble = preamble0; code = code0; renamed_symbols =
    5824     renamed_symbols0; final_label = final_label0 } = x_24239
     5824    renamed_symbols0; final_label = final_label0 } = x_24365
    58255825  in
    58265826  h_mk_pseudo_assembly_program preamble0 code0 __ renamed_symbols0
     
    58325832    Types.prod List.list -> identifier -> __ -> __ -> 'a1) ->
    58335833    pseudo_assembly_program -> 'a1 **)
    5834 let rec pseudo_assembly_program_rect_Type2 h_mk_pseudo_assembly_program x_24241 =
     5834let rec pseudo_assembly_program_rect_Type2 h_mk_pseudo_assembly_program x_24367 =
    58355835  let { preamble = preamble0; code = code0; renamed_symbols =
    5836     renamed_symbols0; final_label = final_label0 } = x_24241
     5836    renamed_symbols0; final_label = final_label0 } = x_24367
    58375837  in
    58385838  h_mk_pseudo_assembly_program preamble0 code0 __ renamed_symbols0
     
    58445844    Types.prod List.list -> identifier -> __ -> __ -> 'a1) ->
    58455845    pseudo_assembly_program -> 'a1 **)
    5846 let rec pseudo_assembly_program_rect_Type1 h_mk_pseudo_assembly_program x_24243 =
     5846let rec pseudo_assembly_program_rect_Type1 h_mk_pseudo_assembly_program x_24369 =
    58475847  let { preamble = preamble0; code = code0; renamed_symbols =
    5848     renamed_symbols0; final_label = final_label0 } = x_24243
     5848    renamed_symbols0; final_label = final_label0 } = x_24369
    58495849  in
    58505850  h_mk_pseudo_assembly_program preamble0 code0 __ renamed_symbols0
     
    58565856    Types.prod List.list -> identifier -> __ -> __ -> 'a1) ->
    58575857    pseudo_assembly_program -> 'a1 **)
    5858 let rec pseudo_assembly_program_rect_Type0 h_mk_pseudo_assembly_program x_24245 =
     5858let rec pseudo_assembly_program_rect_Type0 h_mk_pseudo_assembly_program x_24371 =
    58595859  let { preamble = preamble0; code = code0; renamed_symbols =
    5860     renamed_symbols0; final_label = final_label0 } = x_24245
     5860    renamed_symbols0; final_label = final_label0 } = x_24371
    58615861  in
    58625862  h_mk_pseudo_assembly_program preamble0 code0 __ renamed_symbols0
     
    59445944    (object_code -> costlabel_map -> symboltable_type -> BitVector.word -> __
    59455945    -> 'a1) -> labelled_object_code -> 'a1 **)
    5946 let rec labelled_object_code_rect_Type4 h_mk_labelled_object_code x_24261 =
     5946let rec labelled_object_code_rect_Type4 h_mk_labelled_object_code x_24387 =
    59475947  let { oc = oc0; costlabels = costlabels0; symboltable = symboltable0;
    5948     final_pc = final_pc0 } = x_24261
     5948    final_pc = final_pc0 } = x_24387
    59495949  in
    59505950  h_mk_labelled_object_code oc0 costlabels0 symboltable0 final_pc0 __
     
    59535953    (object_code -> costlabel_map -> symboltable_type -> BitVector.word -> __
    59545954    -> 'a1) -> labelled_object_code -> 'a1 **)
    5955 let rec labelled_object_code_rect_Type5 h_mk_labelled_object_code x_24263 =
     5955let rec labelled_object_code_rect_Type5 h_mk_labelled_object_code x_24389 =
    59565956  let { oc = oc0; costlabels = costlabels0; symboltable = symboltable0;
    5957     final_pc = final_pc0 } = x_24263
     5957    final_pc = final_pc0 } = x_24389
    59585958  in
    59595959  h_mk_labelled_object_code oc0 costlabels0 symboltable0 final_pc0 __
     
    59625962    (object_code -> costlabel_map -> symboltable_type -> BitVector.word -> __
    59635963    -> 'a1) -> labelled_object_code -> 'a1 **)
    5964 let rec labelled_object_code_rect_Type3 h_mk_labelled_object_code x_24265 =
     5964let rec labelled_object_code_rect_Type3 h_mk_labelled_object_code x_24391 =
    59655965  let { oc = oc0; costlabels = costlabels0; symboltable = symboltable0;
    5966     final_pc = final_pc0 } = x_24265
     5966    final_pc = final_pc0 } = x_24391
    59675967  in
    59685968  h_mk_labelled_object_code oc0 costlabels0 symboltable0 final_pc0 __
     
    59715971    (object_code -> costlabel_map -> symboltable_type -> BitVector.word -> __
    59725972    -> 'a1) -> labelled_object_code -> 'a1 **)
    5973 let rec labelled_object_code_rect_Type2 h_mk_labelled_object_code x_24267 =
     5973let rec labelled_object_code_rect_Type2 h_mk_labelled_object_code x_24393 =
    59745974  let { oc = oc0; costlabels = costlabels0; symboltable = symboltable0;
    5975     final_pc = final_pc0 } = x_24267
     5975    final_pc = final_pc0 } = x_24393
    59765976  in
    59775977  h_mk_labelled_object_code oc0 costlabels0 symboltable0 final_pc0 __
     
    59805980    (object_code -> costlabel_map -> symboltable_type -> BitVector.word -> __
    59815981    -> 'a1) -> labelled_object_code -> 'a1 **)
    5982 let rec labelled_object_code_rect_Type1 h_mk_labelled_object_code x_24269 =
     5982let rec labelled_object_code_rect_Type1 h_mk_labelled_object_code x_24395 =
    59835983  let { oc = oc0; costlabels = costlabels0; symboltable = symboltable0;
    5984     final_pc = final_pc0 } = x_24269
     5984    final_pc = final_pc0 } = x_24395
    59855985  in
    59865986  h_mk_labelled_object_code oc0 costlabels0 symboltable0 final_pc0 __
     
    59895989    (object_code -> costlabel_map -> symboltable_type -> BitVector.word -> __
    59905990    -> 'a1) -> labelled_object_code -> 'a1 **)
    5991 let rec labelled_object_code_rect_Type0 h_mk_labelled_object_code x_24271 =
     5991let rec labelled_object_code_rect_Type0 h_mk_labelled_object_code x_24397 =
    59925992  let { oc = oc0; costlabels = costlabels0; symboltable = symboltable0;
    5993     final_pc = final_pc0 } = x_24271
     5993    final_pc = final_pc0 } = x_24397
    59945994  in
    59955995  h_mk_labelled_object_code oc0 costlabels0 symboltable0 final_pc0 __
  • extracted/aSMCosts.ml

    r2797 r2827  
    208208   | Nat.S program_size' ->
    209209     (fun _ ->
    210        (let { Types.fst = eta31765; Types.snd = ticks } =
     210       (let { Types.fst = eta31776; Types.snd = ticks } =
    211211          Fetch.fetch code_memory' program_counter'
    212212        in
    213213       let { Types.fst = instruction; Types.snd = program_counter'' } =
    214          eta31765
     214         eta31776
    215215       in
    216216       (fun _ ->
  • extracted/aST.ml

    r2797 r2827  
    418418    (intsize -> signedness -> 'a1) -> 'a1 -> typ -> 'a1 **)
    419419let rec typ_rect_Type4 h_ASTint h_ASTptr = function
    420 | ASTint (x_3532, x_3531) -> h_ASTint x_3532 x_3531
     420| ASTint (x_3649, x_3648) -> h_ASTint x_3649 x_3648
    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_3537, x_3536) -> h_ASTint x_3537 x_3536
     426| ASTint (x_3654, x_3653) -> h_ASTint x_3654 x_3653
    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_3542, x_3541) -> h_ASTint x_3542 x_3541
     432| ASTint (x_3659, x_3658) -> h_ASTint x_3659 x_3658
    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_3547, x_3546) -> h_ASTint x_3547 x_3546
     438| ASTint (x_3664, x_3663) -> h_ASTint x_3664 x_3663
    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_3552, x_3551) -> h_ASTint x_3552 x_3551
     444| ASTint (x_3669, x_3668) -> h_ASTint x_3669 x_3668
    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_3557, x_3556) -> h_ASTint x_3557 x_3556
     450| ASTint (x_3674, x_3673) -> h_ASTint x_3674 x_3673
    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_3592 =
    880   let { sig_args = sig_args0; sig_res = sig_res0 } = x_3592 in
     879let rec signature_rect_Type4 h_mk_signature x_3709 =
     880  let { sig_args = sig_args0; sig_res = sig_res0 } = x_3709 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_3594 =
    886   let { sig_args = sig_args0; sig_res = sig_res0 } = x_3594 in
     885let rec signature_rect_Type5 h_mk_signature x_3711 =
     886  let { sig_args = sig_args0; sig_res = sig_res0 } = x_3711 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_3596 =
    892   let { sig_args = sig_args0; sig_res = sig_res0 } = x_3596 in
     891let rec signature_rect_Type3 h_mk_signature x_3713 =
     892  let { sig_args = sig_args0; sig_res = sig_res0 } = x_3713 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_3598 =
    898   let { sig_args = sig_args0; sig_res = sig_res0 } = x_3598 in
     897let rec signature_rect_Type2 h_mk_signature x_3715 =
     898  let { sig_args = sig_args0; sig_res = sig_res0 } = x_3715 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_3600 =
    904   let { sig_args = sig_args0; sig_res = sig_res0 } = x_3600 in
     903let rec signature_rect_Type1 h_mk_signature x_3717 =
     904  let { sig_args = sig_args0; sig_res = sig_res0 } = x_3717 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_3602 =
    910   let { sig_args = sig_args0; sig_res = sig_res0 } = x_3602 in
     909let rec signature_rect_Type0 h_mk_signature x_3719 =
     910  let { sig_args = sig_args0; sig_res = sig_res0 } = x_3719 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_3630 -> h_Init_int8 x_3630
    987 | Init_int16 x_3631 -> h_Init_int16 x_3631
    988 | Init_int32 x_3632 -> h_Init_int32 x_3632
    989 | Init_space x_3633 -> h_Init_space x_3633
     986| Init_int8 x_3747 -> h_Init_int8 x_3747
     987| Init_int16 x_3748 -> h_Init_int16 x_3748
     988| Init_int32 x_3749 -> h_Init_int32 x_3749
     989| Init_space x_3750 -> h_Init_space x_3750
    990990| Init_null -> h_Init_null
    991 | Init_addrof (x_3635, x_3634) -> h_Init_addrof x_3635 x_3634
     991| Init_addrof (x_3752, x_3751) -> h_Init_addrof x_3752 x_3751
    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_3643 -> h_Init_int8 x_3643
    998 | Init_int16 x_3644 -> h_Init_int16 x_3644
    999 | Init_int32 x_3645 -> h_Init_int32 x_3645
    1000 | Init_space x_3646 -> h_Init_space x_3646
     997| Init_int8 x_3760 -> h_Init_int8 x_3760
     998| Init_int16 x_3761 -> h_Init_int16 x_3761
     999| Init_int32 x_3762 -> h_Init_int32 x_3762
     1000| Init_space x_3763 -> h_Init_space x_3763
    10011001| Init_null -> h_Init_null
    1002 | Init_addrof (x_3648, x_3647) -> h_Init_addrof x_3648 x_3647
     1002| Init_addrof (x_3765, x_3764) -> h_Init_addrof x_3765 x_3764
    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_3656 -> h_Init_int8 x_3656
    1009 | Init_int16 x_3657 -> h_Init_int16 x_3657
    1010 | Init_int32 x_3658 -> h_Init_int32 x_3658
    1011 | Init_space x_3659 -> h_Init_space x_3659
     1008| Init_int8 x_3773 -> h_Init_int8 x_3773
     1009| Init_int16 x_3774 -> h_Init_int16 x_3774
     1010| Init_int32 x_3775 -> h_Init_int32 x_3775
     1011| Init_space x_3776 -> h_Init_space x_3776
    10121012| Init_null -> h_Init_null
    1013 | Init_addrof (x_3661, x_3660) -> h_Init_addrof x_3661 x_3660
     1013| Init_addrof (x_3778, x_3777) -> h_Init_addrof x_3778 x_3777
    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_3669 -> h_Init_int8 x_3669
    1020 | Init_int16 x_3670 -> h_Init_int16 x_3670
    1021 | Init_int32 x_3671 -> h_Init_int32 x_3671
    1022 | Init_space x_3672 -> h_Init_space x_3672
     1019| Init_int8 x_3786 -> h_Init_int8 x_3786
     1020| Init_int16 x_3787 -> h_Init_int16 x_3787
     1021| Init_int32 x_3788 -> h_Init_int32 x_3788
     1022| Init_space x_3789 -> h_Init_space x_3789
    10231023| Init_null -> h_Init_null
    1024 | Init_addrof (x_3674, x_3673) -> h_Init_addrof x_3674 x_3673
     1024| Init_addrof (x_3791, x_3790) -> h_Init_addrof x_3791 x_3790
    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_3682 -> h_Init_int8 x_3682
    1031 | Init_int16 x_3683 -> h_Init_int16 x_3683
    1032 | Init_int32 x_3684 -> h_Init_int32 x_3684
    1033 | Init_space x_3685 -> h_Init_space x_3685
     1030| Init_int8 x_3799 -> h_Init_int8 x_3799
     1031| Init_int16 x_3800 -> h_Init_int16 x_3800
     1032| Init_int32 x_3801 -> h_Init_int32 x_3801
     1033| Init_space x_3802 -> h_Init_space x_3802
    10341034| Init_null -> h_Init_null
    1035 | Init_addrof (x_3687, x_3686) -> h_Init_addrof x_3687 x_3686
     1035| Init_addrof (x_3804, x_3803) -> h_Init_addrof x_3804 x_3803
    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_3695 -> h_Init_int8 x_3695
    1042 | Init_int16 x_3696 -> h_Init_int16 x_3696
    1043 | Init_int32 x_3697 -> h_Init_int32 x_3697
    1044 | Init_space x_3698 -> h_Init_space x_3698
     1041| Init_int8 x_3812 -> h_Init_int8 x_3812
     1042| Init_int16 x_3813 -> h_Init_int16 x_3813
     1043| Init_int32 x_3814 -> h_Init_int32 x_3814
     1044| Init_space x_3815 -> h_Init_space x_3815
    10451045| Init_null -> h_Init_null
    1046 | Init_addrof (x_3700, x_3699) -> h_Init_addrof x_3700 x_3699
     1046| Init_addrof (x_3817, x_3816) -> h_Init_addrof x_3817 x_3816
    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_3787 =
     1113let rec program_rect_Type4 h_mk_program x_3904 =
    11141114  let { prog_vars = prog_vars0; prog_funct = prog_funct0; prog_main =
    1115     prog_main0 } = x_3787
     1115    prog_main0 } = x_3904
    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_3789 =
     1122let rec program_rect_Type5 h_mk_program x_3906 =
    11231123  let { prog_vars = prog_vars0; prog_funct = prog_funct0; prog_main =
    1124     prog_main0 } = x_3789
     1124    prog_main0 } = x_3906
    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_3791 =
     1131let rec program_rect_Type3 h_mk_program x_3908 =
    11321132  let { prog_vars = prog_vars0; prog_funct = prog_funct0; prog_main =
    1133     prog_main0 } = x_3791
     1133    prog_main0 } = x_3908
    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_3793 =
     1140let rec program_rect_Type2 h_mk_program x_3910 =
    11411141  let { prog_vars = prog_vars0; prog_funct = prog_funct0; prog_main =
    1142     prog_main0 } = x_3793
     1142    prog_main0 } = x_3910
    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_3795 =
     1149let rec program_rect_Type1 h_mk_program x_3912 =
    11501150  let { prog_vars = prog_vars0; prog_funct = prog_funct0; prog_main =
    1151     prog_main0 } = x_3795
     1151    prog_main0 } = x_3912
    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_3797 =
     1158let rec program_rect_Type0 h_mk_program x_3914 =
    11591159  let { prog_vars = prog_vars0; prog_funct = prog_funct0; prog_main =
    1160     prog_main0 } = x_3797
     1160    prog_main0 } = x_3914
    11611161  in
    11621162  h_mk_program prog_vars0 prog_funct0 prog_main0
     
    14771477(** val external_function_rect_Type4 :
    14781478    (ident -> signature -> 'a1) -> external_function -> 'a1 **)
    1479 let rec external_function_rect_Type4 h_mk_external_function x_4001 =
    1480   let { ef_id = ef_id0; ef_sig = ef_sig0 } = x_4001 in
     1479let rec external_function_rect_Type4 h_mk_external_function x_4118 =
     1480  let { ef_id = ef_id0; ef_sig = ef_sig0 } = x_4118 in
    14811481  h_mk_external_function ef_id0 ef_sig0
    14821482
    14831483(** val external_function_rect_Type5 :
    14841484    (ident -> signature -> 'a1) -> external_function -> 'a1 **)
    1485 let rec external_function_rect_Type5 h_mk_external_function x_4003 =
    1486   let { ef_id = ef_id0; ef_sig = ef_sig0 } = x_4003 in
     1485let rec external_function_rect_Type5 h_mk_external_function x_4120 =
     1486  let { ef_id = ef_id0; ef_sig = ef_sig0 } = x_4120 in
    14871487  h_mk_external_function ef_id0 ef_sig0
    14881488
    14891489(** val external_function_rect_Type3 :
    14901490    (ident -> signature -> 'a1) -> external_function -> 'a1 **)
    1491 let rec external_function_rect_Type3 h_mk_external_function x_4005 =
    1492   let { ef_id = ef_id0; ef_sig = ef_sig0 } = x_4005 in
     1491let rec external_function_rect_Type3 h_mk_external_function x_4122 =
     1492  let { ef_id = ef_id0; ef_sig = ef_sig0 } = x_4122 in
    14931493  h_mk_external_function ef_id0 ef_sig0
    14941494
    14951495(** val external_function_rect_Type2 :
    14961496    (ident -> signature -> 'a1) -> external_function -> 'a1 **)
    1497 let rec external_function_rect_Type2 h_mk_external_function x_4007 =
    1498   let { ef_id = ef_id0; ef_sig = ef_sig0 } = x_4007 in
     1497let rec external_function_rect_Type2 h_mk_external_function x_4124 =
     1498  let { ef_id = ef_id0; ef_sig = ef_sig0 } = x_4124 in
    14991499  h_mk_external_function ef_id0 ef_sig0
    15001500
    15011501(** val external_function_rect_Type1 :
    15021502    (ident -> signature -> 'a1) -> external_function -> 'a1 **)
    1503 let rec external_function_rect_Type1 h_mk_external_function x_4009 =
    1504   let { ef_id = ef_id0; ef_sig = ef_sig0 } = x_4009 in
     1503let rec external_function_rect_Type1 h_mk_external_function x_4126 =
     1504  let { ef_id = ef_id0; ef_sig = ef_sig0 } = x_4126 in
    15051505  h_mk_external_function ef_id0 ef_sig0
    15061506
    15071507(** val external_function_rect_Type0 :
    15081508    (ident -> signature -> 'a1) -> external_function -> 'a1 **)
    1509 let rec external_function_rect_Type0 h_mk_external_function x_4011 =
    1510   let { ef_id = ef_id0; ef_sig = ef_sig0 } = x_4011 in
     1509let rec external_function_rect_Type0 h_mk_external_function x_4128 =
     1510  let { ef_id = ef_id0; ef_sig = ef_sig0 } = x_4128 in
    15111511  h_mk_external_function ef_id0 ef_sig0
    15121512
     
    15751575    ('a1 -> 'a2) -> (external_function -> 'a2) -> 'a1 fundef -> 'a2 **)
    15761576let rec fundef_rect_Type4 h_Internal h_External = function
    1577 | Internal x_4031 -> h_Internal x_4031
    1578 | External x_4032 -> h_External x_4032
     1577| Internal x_4148 -> h_Internal x_4148
     1578| External x_4149 -> h_External x_4149
    15791579
    15801580(** val fundef_rect_Type5 :
    15811581    ('a1 -> 'a2) -> (external_function -> 'a2) -> 'a1 fundef -> 'a2 **)
    15821582let rec fundef_rect_Type5 h_Internal h_External = function
    1583 | Internal x_4036 -> h_Internal x_4036
    1584 | External x_4037 -> h_External x_4037
     1583| Internal x_4153 -> h_Internal x_4153
     1584| External x_4154 -> h_External x_4154
    15851585
    15861586(** val fundef_rect_Type3 :
    15871587    ('a1 -> 'a2) -> (external_function -> 'a2) -> 'a1 fundef -> 'a2 **)
    15881588let rec fundef_rect_Type3 h_Internal h_External = function
    1589 | Internal x_4041 -> h_Internal x_4041
    1590 | External x_4042 -> h_External x_4042
     1589| Internal x_4158 -> h_Internal x_4158
     1590| External x_4159 -> h_External x_4159
    15911591
    15921592(** val fundef_rect_Type2 :
    15931593    ('a1 -> 'a2) -> (external_function -> 'a2) -> 'a1 fundef -> 'a2 **)
    15941594let rec fundef_rect_Type2 h_Internal h_External = function
    1595 | Internal x_4046 -> h_Internal x_4046
    1596 | External x_4047 -> h_External x_4047
     1595| Internal x_4163 -> h_Internal x_4163
     1596| External x_4164 -> h_External x_4164
    15971597
    15981598(** val fundef_rect_Type1 :
    15991599    ('a1 -> 'a2) -> (external_function -> 'a2) -> 'a1 fundef -> 'a2 **)
    16001600let rec fundef_rect_Type1 h_Internal h_External = function
    1601 | Internal x_4051 -> h_Internal x_4051
    1602 | External x_4052 -> h_External x_4052
     1601| Internal x_4168 -> h_Internal x_4168
     1602| External x_4169 -> h_External x_4169
    16031603
    16041604(** val fundef_rect_Type0 :
    16051605    ('a1 -> 'a2) -> (external_function -> 'a2) -> 'a1 fundef -> 'a2 **)
    16061606let rec fundef_rect_Type0 h_Internal h_External = function
    1607 | Internal x_4056 -> h_Internal x_4056
    1608 | External x_4057 -> h_External x_4057
     1607| Internal x_4173 -> h_Internal x_4173
     1608| External x_4174 -> h_External x_4174
    16091609
    16101610(** val fundef_inv_rect_Type4 :
  • extracted/backEndOps.ml

    r2797 r2827  
    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_18985 =
    405   let { opaccs = opaccs0; op0 = op4; op3 = op5 } = x_18985 in
     404let rec eval_rect_Type4 h_mk_Eval x_19102 =
     405  let { opaccs = opaccs0; op0 = op4; op3 = op5 } = x_19102 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_18987 =
    414   let { opaccs = opaccs0; op0 = op4; op3 = op5 } = x_18987 in
     413let rec eval_rect_Type5 h_mk_Eval x_19104 =
     414  let { opaccs = opaccs0; op0 = op4; op3 = op5 } = x_19104 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_18989 =
    423   let { opaccs = opaccs0; op0 = op4; op3 = op5 } = x_18989 in
     422let rec eval_rect_Type3 h_mk_Eval x_19106 =
     423  let { opaccs = opaccs0; op0 = op4; op3 = op5 } = x_19106 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_18991 =
    432   let { opaccs = opaccs0; op0 = op4; op3 = op5 } = x_18991 in
     431let rec eval_rect_Type2 h_mk_Eval x_19108 =
     432  let { opaccs = opaccs0; op0 = op4; op3 = op5 } = x_19108 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_18993 =
    441   let { opaccs = opaccs0; op0 = op4; op3 = op5 } = x_18993 in
     440let rec eval_rect_Type1 h_mk_Eval x_19110 =
     441  let { opaccs = opaccs0; op0 = op4; op3 = op5 } = x_19110 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_18995 =
    450   let { opaccs = opaccs0; op0 = op4; op3 = op5 } = x_18995 in
     449let rec eval_rect_Type0 h_mk_Eval x_19112 =
     450  let { opaccs = opaccs0; op0 = op4; op3 = op5 } = x_19112 in
    451451  h_mk_Eval opaccs0 op4 op5
    452452
  • extracted/bind_new.ml

    r2797 r2827  
    3535    ('a1, 'a2) bind_new -> 'a3 **)
    3636let rec bind_new_rect_Type4 h_bret h_bnew = function
    37 | Bret x_20842 -> h_bret x_20842
    38 | Bnew x_20844 ->
    39   h_bnew x_20844 (fun x_20843 ->
    40     bind_new_rect_Type4 h_bret h_bnew (x_20844 x_20843))
     37| Bret x_20959 -> h_bret x_20959
     38| Bnew x_20961 ->
     39  h_bnew x_20961 (fun x_20960 ->
     40    bind_new_rect_Type4 h_bret h_bnew (x_20961 x_20960))
    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_20854 -> h_bret x_20854
    47 | Bnew x_20856 ->
    48   h_bnew x_20856 (fun x_20855 ->
    49     bind_new_rect_Type3 h_bret h_bnew (x_20856 x_20855))
     46| Bret x_20971 -> h_bret x_20971
     47| Bnew x_20973 ->
     48  h_bnew x_20973 (fun x_20972 ->
     49    bind_new_rect_Type3 h_bret h_bnew (x_20973 x_20972))
    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_20860 -> h_bret x_20860
    56 | Bnew x_20862 ->
    57   h_bnew x_20862 (fun x_20861 ->
    58     bind_new_rect_Type2 h_bret h_bnew (x_20862 x_20861))
     55| Bret x_20977 -> h_bret x_20977
     56| Bnew x_20979 ->
     57  h_bnew x_20979 (fun x_20978 ->
     58    bind_new_rect_Type2 h_bret h_bnew (x_20979 x_20978))
    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_20866 -> h_bret x_20866
    65 | Bnew x_20868 ->
    66   h_bnew x_20868 (fun x_20867 ->
    67     bind_new_rect_Type1 h_bret h_bnew (x_20868 x_20867))
     64| Bret x_20983 -> h_bret x_20983
     65| Bnew x_20985 ->
     66  h_bnew x_20985 (fun x_20984 ->
     67    bind_new_rect_Type1 h_bret h_bnew (x_20985 x_20984))
    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_20872 -> h_bret x_20872
    74 | Bnew x_20874 ->
    75   h_bnew x_20874 (fun x_20873 ->
    76     bind_new_rect_Type0 h_bret h_bnew (x_20874 x_20873))
     73| Bret x_20989 -> h_bret x_20989
     74| Bnew x_20991 ->
     75  h_bnew x_20991 (fun x_20990 ->
     76    bind_new_rect_Type0 h_bret h_bnew (x_20991 x_20990))
    7777
    7878(** val bind_new_inv_rect_Type4 :
  • extracted/bitVectorTrie.ml

    r2797 r2827  
    4949    ('a1 -> 'a2) -> (Nat.nat -> 'a1 bitVectorTrie -> 'a1 bitVectorTrie -> 'a2
    5050    -> 'a2 -> 'a2) -> (Nat.nat -> 'a2) -> Nat.nat -> 'a1 bitVectorTrie -> 'a2 **)
    51 let rec bitVectorTrie_rect_Type4 h_Leaf h_Node h_Stub x_14647 = function
    52 | Leaf x_14649 -> h_Leaf x_14649
    53 | Node (n, x_14651, x_14650) ->
    54   h_Node n x_14651 x_14650
    55     (bitVectorTrie_rect_Type4 h_Leaf h_Node h_Stub n x_14651)
    56     (bitVectorTrie_rect_Type4 h_Leaf h_Node h_Stub n x_14650)
     51let rec bitVectorTrie_rect_Type4 h_Leaf h_Node h_Stub x_14764 = function
     52| Leaf x_14766 -> h_Leaf x_14766
     53| Node (n, x_14768, x_14767) ->
     54  h_Node n x_14768 x_14767
     55    (bitVectorTrie_rect_Type4 h_Leaf h_Node h_Stub n x_14768)
     56    (bitVectorTrie_rect_Type4 h_Leaf h_Node h_Stub n x_14767)
    5757| Stub n -> h_Stub n
    5858
     
    6060    ('a1 -> 'a2) -> (Nat.nat -> 'a1 bitVectorTrie -> 'a1 bitVectorTrie -> 'a2
    6161    -> 'a2 -> 'a2) -> (Nat.nat -> 'a2) -> Nat.nat -> 'a1 bitVectorTrie -> 'a2 **)
    62 let rec bitVectorTrie_rect_Type3 h_Leaf h_Node h_Stub x_14663 = function
    63 | Leaf x_14665 -> h_Leaf x_14665
    64 | Node (n, x_14667, x_14666) ->
    65   h_Node n x_14667 x_14666
    66     (bitVectorTrie_rect_Type3 h_Leaf h_Node h_Stub n x_14667)
    67     (bitVectorTrie_rect_Type3 h_Leaf h_Node h_Stub n x_14666)
     62let rec bitVectorTrie_rect_Type3 h_Leaf h_Node h_Stub x_14780 = function
     63| Leaf x_14782 -> h_Leaf x_14782
     64| Node (n, x_14784, x_14783) ->
     65  h_Node n x_14784 x_14783
     66    (bitVectorTrie_rect_Type3 h_Leaf h_Node h_Stub n x_14784)
     67    (bitVectorTrie_rect_Type3 h_Leaf h_Node h_Stub n x_14783)
    6868| Stub n -> h_Stub n
    6969
     
    7171    ('a1 -> 'a2) -> (Nat.nat -> 'a1 bitVectorTrie -> 'a1 bitVectorTrie -> 'a2
    7272    -> 'a2 -> 'a2) -> (Nat.nat -> 'a2) -> Nat.nat -> 'a1 bitVectorTrie -> 'a2 **)
    73 let rec bitVectorTrie_rect_Type2 h_Leaf h_Node h_Stub x_14671 = function
    74 | Leaf x_14673 -> h_Leaf x_14673
    75 | Node (n, x_14675, x_14674) ->
    76   h_Node n x_14675 x_14674
    77     (bitVectorTrie_rect_Type2 h_Leaf h_Node h_Stub n x_14675)
    78     (bitVectorTrie_rect_Type2 h_Leaf h_Node h_Stub n x_14674)
     73let rec bitVectorTrie_rect_Type2 h_Leaf h_Node h_Stub x_14788 = function
     74| Leaf x_14790 -> h_Leaf x_14790
     75| Node (n, x_14792, x_14791) ->
     76  h_Node n x_14792 x_14791
     77    (bitVectorTrie_rect_Type2 h_Leaf h_Node h_Stub n x_14792)
     78    (bitVectorTrie_rect_Type2 h_Leaf h_Node h_Stub n x_14791)
    7979| Stub n -> h_Stub n
    8080
     
    8282    ('a1 -> 'a2) -> (Nat.nat -> 'a1 bitVectorTrie -> 'a1 bitVectorTrie -> 'a2
    8383    -> 'a2 -> 'a2) -> (Nat.nat -> 'a2) -> Nat.nat -> 'a1 bitVectorTrie -> 'a2 **)
    84 let rec bitVectorTrie_rect_Type1 h_Leaf h_Node h_Stub x_14679 = function
    85 | Leaf x_14681 -> h_Leaf x_14681
    86 | Node (n, x_14683, x_14682) ->
    87   h_Node n x_14683 x_14682
    88     (bitVectorTrie_rect_Type1 h_Leaf h_Node h_Stub n x_14683)
    89     (bitVectorTrie_rect_Type1 h_Leaf h_Node h_Stub n x_14682)
     84let rec bitVectorTrie_rect_Type1 h_Leaf h_Node h_Stub x_14796 = function
     85| Leaf x_14798 -> h_Leaf x_14798
     86| Node (n, x_14800, x_14799) ->
     87  h_Node n x_14800 x_14799
     88    (bitVectorTrie_rect_Type1 h_Leaf h_Node h_Stub n x_14800)
     89    (bitVectorTrie_rect_Type1 h_Leaf h_Node h_Stub n x_14799)
    9090| Stub n -> h_Stub n
    9191
     
    9393    ('a1 -> 'a2) -> (Nat.nat -> 'a1 bitVectorTrie -> 'a1 bitVectorTrie -> 'a2
    9494    -> 'a2 -> 'a2) -> (Nat.nat -> 'a2) -> Nat.nat -> 'a1 bitVectorTrie -> 'a2 **)
    95 let rec bitVectorTrie_rect_Type0 h_Leaf h_Node h_Stub x_14687 = function
    96 | Leaf x_14689 -> h_Leaf x_14689
    97 | Node (n, x_14691, x_14690) ->
    98   h_Node n x_14691 x_14690
    99     (bitVectorTrie_rect_Type0 h_Leaf h_Node h_Stub n x_14691)
    100     (bitVectorTrie_rect_Type0 h_Leaf h_Node h_Stub n x_14690)
     95let rec bitVectorTrie_rect_Type0 h_Leaf h_Node h_Stub x_14804 = function
     96| Leaf x_14806 -> h_Leaf x_14806
     97| Node (n, x_14808, x_14807) ->
     98  h_Node n x_14808 x_14807
     99    (bitVectorTrie_rect_Type0 h_Leaf h_Node h_Stub n x_14808)
     100    (bitVectorTrie_rect_Type0 h_Leaf h_Node h_Stub n x_14807)
    101101| Stub n -> h_Stub n
    102102
  • extracted/byteValues.ml

    r2797 r2827  
    8989    (Pointers.block Types.sig0 -> Positive.pos -> 'a1) -> program_counter ->
    9090    'a1 **)
    91 let rec program_counter_rect_Type4 h_mk_program_counter x_6022 =
    92   let { pc_block = pc_block0; pc_offset = pc_offset0 } = x_6022 in
     91let rec program_counter_rect_Type4 h_mk_program_counter x_6139 =
     92  let { pc_block = pc_block0; pc_offset = pc_offset0 } = x_6139 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_6024 =
    99   let { pc_block = pc_block0; pc_offset = pc_offset0 } = x_6024 in
     98let rec program_counter_rect_Type5 h_mk_program_counter x_6141 =
     99  let { pc_block = pc_block0; pc_offset = pc_offset0 } = x_6141 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_6026 =
    106   let { pc_block = pc_block0; pc_offset = pc_offset0 } = x_6026 in
     105let rec program_counter_rect_Type3 h_mk_program_counter x_6143 =
     106  let { pc_block = pc_block0; pc_offset = pc_offset0 } = x_6143 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_6028 =
    113   let { pc_block = pc_block0; pc_offset = pc_offset0 } = x_6028 in
     112let rec program_counter_rect_Type2 h_mk_program_counter x_6145 =
     113  let { pc_block = pc_block0; pc_offset = pc_offset0 } = x_6145 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_6030 =
    120   let { pc_block = pc_block0; pc_offset = pc_offset0 } = x_6030 in
     119let rec program_counter_rect_Type1 h_mk_program_counter x_6147 =
     120  let { pc_block = pc_block0; pc_offset = pc_offset0 } = x_6147 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_6032 =
    127   let { pc_block = pc_block0; pc_offset = pc_offset0 } = x_6032 in
     126let rec program_counter_rect_Type0 h_mk_program_counter x_6149 =
     127  let { pc_block = pc_block0; pc_offset = pc_offset0 } = x_6149 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_6048 =
    218   let part_no = x_6048 in h_mk_part part_no __
     217let rec part_rect_Type4 h_mk_part x_6165 =
     218  let part_no = x_6165 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_6050 =
    222   let part_no = x_6050 in h_mk_part part_no __
     221let rec part_rect_Type5 h_mk_part x_6167 =
     222  let part_no = x_6167 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_6052 =
    226   let part_no = x_6052 in h_mk_part part_no __
     225let rec part_rect_Type3 h_mk_part x_6169 =
     226  let part_no = x_6169 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_6054 =
    230   let part_no = x_6054 in h_mk_part part_no __
     229let rec part_rect_Type2 h_mk_part x_6171 =
     230  let part_no = x_6171 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_6056 =
    234   let part_no = x_6056 in h_mk_part part_no __
     233let rec part_rect_Type1 h_mk_part x_6173 =
     234  let part_no = x_6173 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_6058 =
    238   let part_no = x_6058 in h_mk_part part_no __
     237let rec part_rect_Type0 h_mk_part x_6175 =
     238  let part_no = x_6175 in h_mk_part part_no __
    239239
    240240(** val part_no : part -> Nat.nat **)
     
    486486| BVundef -> h_BVundef
    487487| BVnonzero -> h_BVnonzero
    488 | BVXor (x_6092, x_6091, x_6090) -> h_BVXor x_6092 x_6091 x_6090
    489 | BVByte x_6093 -> h_BVByte x_6093
    490 | BVnull x_6094 -> h_BVnull x_6094
    491 | BVptr (x_6096, x_6095) -> h_BVptr x_6096 x_6095
    492 | BVpc (x_6098, x_6097) -> h_BVpc x_6098 x_6097
     488| BVXor (x_6209, x_6208, x_6207) -> h_BVXor x_6209 x_6208 x_6207
     489| BVByte x_6210 -> h_BVByte x_6210
     490| BVnull x_6211 -> h_BVnull x_6211
     491| BVptr (x_6213, x_6212) -> h_BVptr x_6213 x_6212
     492| BVpc (x_6215, x_6214) -> h_BVpc x_6215 x_6214
    493493
    494494(** val beval_rect_Type5 :
     
    500500| BVundef -> h_BVundef
    501501| BVnonzero -> h_BVnonzero
    502 | BVXor (x_6109, x_6108, x_6107) -> h_BVXor x_6109 x_6108 x_6107
    503 | BVByte x_6110 -> h_BVByte x_6110
    504 | BVnull x_6111 -> h_BVnull x_6111
    505 | BVptr (x_6113, x_6112) -> h_BVptr x_6113 x_6112
    506 | BVpc (x_6115, x_6114) -> h_BVpc x_6115 x_6114
     502| BVXor (x_6226, x_6225, x_6224) -> h_BVXor x_6226 x_6225 x_6224
     503| BVByte x_6227 -> h_BVByte x_6227
     504| BVnull x_6228 -> h_BVnull x_6228
     505| BVptr (x_6230, x_6229) -> h_BVptr x_6230 x_6229
     506| BVpc (x_6232, x_6231) -> h_BVpc x_6232 x_6231
    507507
    508508(** val beval_rect_Type3 :
     
    514514| BVundef -> h_BVundef
    515515| BVnonzero -> h_BVnonzero
    516 | BVXor (x_6126, x_6125, x_6124) -> h_BVXor x_6126 x_6125 x_6124
    517 | BVByte x_6127 -> h_BVByte x_6127
    518 | BVnull x_6128 -> h_BVnull x_6128
    519 | BVptr (x_6130, x_6129) -> h_BVptr x_6130 x_6129
    520 | BVpc (x_6132, x_6131) -> h_BVpc x_6132 x_6131
     516| BVXor (x_6243, x_6242, x_6241) -> h_BVXor x_6243 x_6242 x_6241
     517| BVByte x_6244 -> h_BVByte x_6244
     518| BVnull x_6245 -> h_BVnull x_6245
     519| BVptr (x_6247, x_6246) -> h_BVptr x_6247 x_6246
     520| BVpc (x_6249, x_6248) -> h_BVpc x_6249 x_6248
    521521
    522522(** val beval_rect_Type2 :
     
    528528| BVundef -> h_BVundef
    529529| BVnonzero -> h_BVnonzero
    530 | BVXor (x_6143, x_6142, x_6141) -> h_BVXor x_6143 x_6142 x_6141
    531 | BVByte x_6144 -> h_BVByte x_6144
    532 | BVnull x_6145 -> h_BVnull x_6145
    533 | BVptr (x_6147, x_6146) -> h_BVptr x_6147 x_6146
    534 | BVpc (x_6149, x_6148) -> h_BVpc x_6149 x_6148
     530| BVXor (x_6260, x_6259, x_6258) -> h_BVXor x_6260 x_6259 x_6258
     531| BVByte x_6261 -> h_BVByte x_6261
     532| BVnull x_6262 -> h_BVnull x_6262
     533| BVptr (x_6264, x_6263) -> h_BVptr x_6264 x_6263
     534| BVpc (x_6266, x_6265) -> h_BVpc x_6266 x_6265
    535535
    536536(** val beval_rect_Type1 :
     
    542542| BVundef -> h_BVundef
    543543| BVnonzero -> h_BVnonzero
    544 | BVXor (x_6160, x_6159, x_6158) -> h_BVXor x_6160 x_6159 x_6158
    545 | BVByte x_6161 -> h_BVByte x_6161
    546 | BVnull x_6162 -> h_BVnull x_6162
    547 | BVptr (x_6164, x_6163) -> h_BVptr x_6164 x_6163
    548 | BVpc (x_6166, x_6165) -> h_BVpc x_6166 x_6165
     544| BVXor (x_6277, x_6276, x_6275) -> h_BVXor x_6277 x_6276 x_6275
     545| BVByte x_6278 -> h_BVByte x_6278
     546| BVnull x_6279 -> h_BVnull x_6279
     547| BVptr (x_6281, x_6280) -> h_BVptr x_6281 x_6280
     548| BVpc (x_6283, x_6282) -> h_BVpc x_6283 x_6282
    549549
    550550(** val beval_rect_Type0 :
     
    556556| BVundef -> h_BVundef
    557557| BVnonzero -> h_BVnonzero
    558 | BVXor (x_6177, x_6176, x_6175) -> h_BVXor x_6177 x_6176 x_6175
    559 | BVByte x_6178 -> h_BVByte x_6178
    560 | BVnull x_6179 -> h_BVnull x_6179
    561 | BVptr (x_6181, x_6180) -> h_BVptr x_6181 x_6180
    562 | BVpc (x_6183, x_6182) -> h_BVpc x_6183 x_6182
     558| BVXor (x_6294, x_6293, x_6292) -> h_BVXor x_6294 x_6293 x_6292
     559| BVByte x_6295 -> h_BVByte x_6295
     560| BVnull x_6296 -> h_BVnull x_6296
     561| BVptr (x_6298, x_6297) -> h_BVptr x_6298 x_6297
     562| BVpc (x_6300, x_6299) -> h_BVpc x_6300 x_6299
    563563
    564564(** val beval_inv_rect_Type4 :
     
    899899    BitVector.bitVector -> 'a1) -> bebit -> 'a1 **)
    900900let rec bebit_rect_Type4 h_BBbit h_BBundef h_BBptrcarry = function
    901 | BBbit x_6302 -> h_BBbit x_6302
     901| BBbit x_6419 -> h_BBbit x_6419
    902902| BBundef -> h_BBundef
    903 | BBptrcarry (x_6305, x_6304, p, x_6303) ->
    904   h_BBptrcarry x_6305 x_6304 p x_6303
     903| BBptrcarry (x_6422, x_6421, p, x_6420) ->
     904  h_BBptrcarry x_6422 x_6421 p x_6420
    905905
    906906(** val bebit_rect_Type5 :
     
    908908    BitVector.bitVector -> 'a1) -> bebit -> 'a1 **)
    909909let rec bebit_rect_Type5 h_BBbit h_BBundef h_BBptrcarry = function
    910 | BBbit x_6310 -> h_BBbit x_6310
     910| BBbit x_6427 -> h_BBbit x_6427
    911911| BBundef -> h_BBundef
    912 | BBptrcarry (x_6313, x_6312, p, x_6311) ->
    913   h_BBptrcarry x_6313 x_6312 p x_6311
     912| BBptrcarry (x_6430, x_6429, p, x_6428) ->
     913  h_BBptrcarry x_6430 x_6429 p x_6428
    914914
    915915(** val bebit_rect_Type3 :
     
    917917    BitVector.bitVector -> 'a1) -> bebit -> 'a1 **)
    918918let rec bebit_rect_Type3 h_BBbit h_BBundef h_BBptrcarry = function
    919 | BBbit x_6318 -> h_BBbit x_6318
     919| BBbit x_6435 -> h_BBbit x_6435
    920920| BBundef -> h_BBundef
    921 | BBptrcarry (x_6321, x_6320, p, x_6319) ->
    922   h_BBptrcarry x_6321 x_6320 p x_6319
     921| BBptrcarry (x_6438, x_6437, p, x_6436) ->
     922  h_BBptrcarry x_6438 x_6437 p x_6436
    923923
    924924(** val bebit_rect_Type2 :
     
    926926    BitVector.bitVector -> 'a1) -> bebit -> 'a1 **)
    927927let rec bebit_rect_Type2 h_BBbit h_BBundef h_BBptrcarry = function
    928 | BBbit x_6326 -> h_BBbit x_6326
     928| BBbit x_6443 -> h_BBbit x_6443
    929929| BBundef -> h_BBundef
    930 | BBptrcarry (x_6329, x_6328, p, x_6327) ->
    931   h_BBptrcarry x_6329 x_6328 p x_6327
     930| BBptrcarry (x_6446, x_6445, p, x_6444) ->
     931  h_BBptrcarry x_6446 x_6445 p x_6444
    932932
    933933(** val bebit_rect_Type1 :
     
    935935    BitVector.bitVector -> 'a1) -> bebit -> 'a1 **)
    936936let rec bebit_rect_Type1 h_BBbit h_BBundef h_BBptrcarry = function
    937 | BBbit x_6334 -> h_BBbit x_6334
     937| BBbit x_6451 -> h_BBbit x_6451
    938938| BBundef -> h_BBundef
    939 | BBptrcarry (x_6337, x_6336, p, x_6335) ->
    940   h_BBptrcarry x_6337 x_6336 p x_6335
     939| BBptrcarry (x_6454, x_6453, p, x_6452) ->
     940  h_BBptrcarry x_6454 x_6453 p x_6452
    941941
    942942(** val bebit_rect_Type0 :
     
    944944    BitVector.bitVector -> 'a1) -> bebit -> 'a1 **)
    945945let rec bebit_rect_Type0 h_BBbit h_BBundef h_BBptrcarry = function
    946 | BBbit x_6342 -> h_BBbit x_6342
     946| BBbit x_6459 -> h_BBbit x_6459
    947947| BBundef -> h_BBundef
    948 | BBptrcarry (x_6345, x_6344, p, x_6343) ->
    949   h_BBptrcarry x_6345 x_6344 p x_6343
     948| BBptrcarry (x_6462, x_6461, p, x_6460) ->
     949  h_BBptrcarry x_6462 x_6461 p x_6460
    950950
    951951(** val bebit_inv_rect_Type4 :
  • extracted/classifyOp.ml

    r2797 r2827  
    9696    (Csyntax.type0 -> Csyntax.type0 -> 'a1) -> Csyntax.type0 -> Csyntax.type0
    9797    -> classify_add_cases -> 'a1 **)
    98 let rec classify_add_cases_rect_Type4 h_add_case_ii h_add_case_pi h_add_case_ip h_add_default x_7272 x_7271 = function
     98let rec classify_add_cases_rect_Type4 h_add_case_ii h_add_case_pi h_add_case_ip h_add_default x_7389 x_7388 = function
    9999| Add_case_ii (sz, sg) -> h_add_case_ii sz sg
    100100| Add_case_pi (n, ty, sz, sg) -> h_add_case_pi n ty sz sg
     
    108108    (Csyntax.type0 -> Csyntax.type0 -> 'a1) -> Csyntax.type0 -> Csyntax.type0
    109109    -> classify_add_cases -> 'a1 **)
    110 let rec classify_add_cases_rect_Type5 h_add_case_ii h_add_case_pi h_add_case_ip h_add_default x_7279 x_7278 = function
     110let rec classify_add_cases_rect_Type5 h_add_case_ii h_add_case_pi h_add_case_ip h_add_default x_7396 x_7395 = function
    111111| Add_case_ii (sz, sg) -> h_add_case_ii sz sg
    112112| Add_case_pi (n, ty, sz, sg) -> h_add_case_pi n ty sz sg
     
    120120    (Csyntax.type0 -> Csyntax.type0 -> 'a1) -> Csyntax.type0 -> Csyntax.type0
    121121    -> classify_add_cases -> 'a1 **)
    122 let rec classify_add_cases_rect_Type3 h_add_case_ii h_add_case_pi h_add_case_ip h_add_default x_7286 x_7285 = function
     122let rec classify_add_cases_rect_Type3 h_add_case_ii h_add_case_pi h_add_case_ip h_add_default x_7403 x_7402 = function
    123123| Add_case_ii (sz, sg) -> h_add_case_ii sz sg
    124124| Add_case_pi (n, ty, sz, sg) -> h_add_case_pi n ty sz sg
     
    132132    (Csyntax.type0 -> Csyntax.type0 -> 'a1) -> Csyntax.type0 -> Csyntax.type0
    133133    -> classify_add_cases -> 'a1 **)
    134 let rec classify_add_cases_rect_Type2 h_add_case_ii h_add_case_pi h_add_case_ip h_add_default x_7293 x_7292 = function
     134let rec classify_add_cases_rect_Type2 h_add_case_ii h_add_case_pi h_add_case_ip h_add_default x_7410 x_7409 = function
    135135| Add_case_ii (sz, sg) -> h_add_case_ii sz sg
    136136| Add_case_pi (n, ty, sz, sg) -> h_add_case_pi n ty sz sg
     
    144144    (Csyntax.type0 -> Csyntax.type0 -> 'a1) -> Csyntax.type0 -> Csyntax.type0
    145145    -> classify_add_cases -> 'a1 **)
    146 let rec classify_add_cases_rect_Type1 h_add_case_ii h_add_case_pi h_add_case_ip h_add_default x_7300 x_7299 = function
     146let rec classify_add_cases_rect_Type1 h_add_case_ii h_add_case_pi h_add_case_ip h_add_default x_7417 x_7416 = function
    147147| Add_case_ii (sz, sg) -> h_add_case_ii sz sg
    148148| Add_case_pi (n, ty, sz, sg) -> h_add_case_pi n ty sz sg
     
    156156    (Csyntax.type0 -> Csyntax.type0 -> 'a1) -> Csyntax.type0 -> Csyntax.type0
    157157    -> classify_add_cases -> 'a1 **)
    158 let rec classify_add_cases_rect_Type0 h_add_case_ii h_add_case_pi h_add_case_ip h_add_default x_7307 x_7306 = function
     158let rec classify_add_cases_rect_Type0 h_add_case_ii h_add_case_pi h_add_case_ip h_add_default x_7424 x_7423 = function
    159159| Add_case_ii (sz, sg) -> h_add_case_ii sz sg
    160160| Add_case_pi (n, ty, sz, sg) -> h_add_case_pi n ty sz sg
     
    319319    'a1) -> (Csyntax.type0 -> Csyntax.type0 -> 'a1) -> Csyntax.type0 ->
    320320    Csyntax.type0 -> classify_sub_cases -> 'a1 **)
    321 let rec classify_sub_cases_rect_Type4 h_sub_case_ii h_sub_case_pi h_sub_case_pp h_sub_default x_7363 x_7362 = function
     321let rec classify_sub_cases_rect_Type4 h_sub_case_ii h_sub_case_pi h_sub_case_pp h_sub_default x_7480 x_7479 = function
    322322| Sub_case_ii (sz, sg) -> h_sub_case_ii sz sg
    323323| Sub_case_pi (n, ty, sz, sg) -> h_sub_case_pi n ty sz sg
     
    331331    'a1) -> (Csyntax.type0 -> Csyntax.type0 -> 'a1) -> Csyntax.type0 ->
    332332    Csyntax.type0 -> classify_sub_cases -> 'a1 **)
    333 let rec classify_sub_cases_rect_Type5 h_sub_case_ii h_sub_case_pi h_sub_case_pp h_sub_default x_7370 x_7369 = function
     333let rec classify_sub_cases_rect_Type5 h_sub_case_ii h_sub_case_pi h_sub_case_pp h_sub_default x_7487 x_7486 = function
    334334| Sub_case_ii (sz, sg) -> h_sub_case_ii sz sg
    335335| Sub_case_pi (n, ty, sz, sg) -> h_sub_case_pi n ty sz sg
     
    343343    'a1) -> (Csyntax.type0 -> Csyntax.type0 -> 'a1) -> Csyntax.type0 ->
    344344    Csyntax.type0 -> classify_sub_cases -> 'a1 **)
    345 let rec classify_sub_cases_rect_Type3 h_sub_case_ii h_sub_case_pi h_sub_case_pp h_sub_default x_7377 x_7376 = function
     345let rec classify_sub_cases_rect_Type3 h_sub_case_ii h_sub_case_pi h_sub_case_pp h_sub_default x_7494 x_7493 = function
    346346| Sub_case_ii (sz, sg) -> h_sub_case_ii sz sg
    347347| Sub_case_pi (n, ty, sz, sg) -> h_sub_case_pi n ty sz sg
     
    355355    'a1) -> (Csyntax.type0 -> Csyntax.type0 -> 'a1) -> Csyntax.type0 ->
    356356    Csyntax.type0 -> classify_sub_cases -> 'a1 **)
    357 let rec classify_sub_cases_rect_Type2 h_sub_case_ii h_sub_case_pi h_sub_case_pp h_sub_default x_7384 x_7383 = function
     357let rec classify_sub_cases_rect_Type2 h_sub_case_ii h_sub_case_pi h_sub_case_pp h_sub_default x_7501 x_7500 = function
    358358| Sub_case_ii (sz, sg) -> h_sub_case_ii sz sg
    359359| Sub_case_pi (n, ty, sz, sg) -> h_sub_case_pi n ty sz sg
     
    367367    'a1) -> (Csyntax.type0 -> Csyntax.type0 -> 'a1) -> Csyntax.type0 ->
    368368    Csyntax.type0 -> classify_sub_cases -> 'a1 **)
    369 let rec classify_sub_cases_rect_Type1 h_sub_case_ii h_sub_case_pi h_sub_case_pp h_sub_default x_7391 x_7390 = function
     369let rec classify_sub_cases_rect_Type1 h_sub_case_ii h_sub_case_pi h_sub_case_pp h_sub_default x_7508 x_7507 = function
    370370| Sub_case_ii (sz, sg) -> h_sub_case_ii sz sg
    371371| Sub_case_pi (n, ty, sz, sg) -> h_sub_case_pi n ty sz sg
     
    379379    'a1) -> (Csyntax.type0 -> Csyntax.type0 -> 'a1) -> Csyntax.type0 ->
    380380    Csyntax.type0 -> classify_sub_cases -> 'a1 **)
    381 let rec classify_sub_cases_rect_Type0 h_sub_case_ii h_sub_case_pi h_sub_case_pp h_sub_default x_7398 x_7397 = function
     381let rec classify_sub_cases_rect_Type0 h_sub_case_ii h_sub_case_pi h_sub_case_pp h_sub_default x_7515 x_7514 = function
    382382| Sub_case_ii (sz, sg) -> h_sub_case_ii sz sg
    383383| Sub_case_pi (n, ty, sz, sg) -> h_sub_case_pi n ty sz sg
     
    519519    (AST.intsize -> AST.signedness -> 'a1) -> (Csyntax.type0 -> Csyntax.type0
    520520    -> 'a1) -> Csyntax.type0 -> Csyntax.type0 -> classify_aop_cases -> 'a1 **)
    521 let rec classify_aop_cases_rect_Type4 h_aop_case_ii h_aop_default x_7452 x_7451 = function
     521let rec classify_aop_cases_rect_Type4 h_aop_case_ii h_aop_default x_7569 x_7568 = function
    522522| Aop_case_ii (sz, sg) -> h_aop_case_ii sz sg
    523523| Aop_default (ty, ty') -> h_aop_default ty ty'
     
    526526    (AST.intsize -> AST.signedness -> 'a1) -> (Csyntax.type0 -> Csyntax.type0
    527527    -> 'a1) -> Csyntax.type0 -> Csyntax.type0 -> classify_aop_cases -> 'a1 **)
    528 let rec classify_aop_cases_rect_Type5 h_aop_case_ii h_aop_default x_7457 x_7456 = function
     528let rec classify_aop_cases_rect_Type5 h_aop_case_ii h_aop_default x_7574 x_7573 = function
    529529| Aop_case_ii (sz, sg) -> h_aop_case_ii sz sg
    530530| Aop_default (ty, ty') -> h_aop_default ty ty'
     
    533533    (AST.intsize -> AST.signedness -> 'a1) -> (Csyntax.type0 -> Csyntax.type0
    534534    -> 'a1) -> Csyntax.type0 -> Csyntax.type0 -> classify_aop_cases -> 'a1 **)
    535 let rec classify_aop_cases_rect_Type3 h_aop_case_ii h_aop_default x_7462 x_7461 = function
     535let rec classify_aop_cases_rect_Type3 h_aop_case_ii h_aop_default x_7579 x_7578 = function
    536536| Aop_case_ii (sz, sg) -> h_aop_case_ii sz sg
    537537| Aop_default (ty, ty') -> h_aop_default ty ty'
     
    540540    (AST.intsize -> AST.signedness -> 'a1) -> (Csyntax.type0 -> Csyntax.type0
    541541    -> 'a1) -> Csyntax.type0 -> Csyntax.type0 -> classify_aop_cases -> 'a1 **)
    542 let rec classify_aop_cases_rect_Type2 h_aop_case_ii h_aop_default x_7467 x_7466 = function
     542let rec classify_aop_cases_rect_Type2 h_aop_case_ii h_aop_default x_7584 x_7583 = function
    543543| Aop_case_ii (sz, sg) -> h_aop_case_ii sz sg
    544544| Aop_default (ty, ty') -> h_aop_default ty ty'
     
    547547    (AST.intsize -> AST.signedness -> 'a1) -> (Csyntax.type0 -> Csyntax.type0
    548548    -> 'a1) -> Csyntax.type0 -> Csyntax.type0 -> classify_aop_cases -> 'a1 **)
    549 let rec classify_aop_cases_rect_Type1 h_aop_case_ii h_aop_default x_7472 x_7471 = function
     549let rec classify_aop_cases_rect_Type1 h_aop_case_ii h_aop_default x_7589 x_7588 = function
    550550| Aop_case_ii (sz, sg) -> h_aop_case_ii sz sg
    551551| Aop_default (ty, ty') -> h_aop_default ty ty'
     
    554554    (AST.intsize -> AST.signedness -> 'a1) -> (Csyntax.type0 -> Csyntax.type0
    555555    -> 'a1) -> Csyntax.type0 -> Csyntax.type0 -> classify_aop_cases -> 'a1 **)
    556 let rec classify_aop_cases_rect_Type0 h_aop_case_ii h_aop_default x_7477 x_7476 = function
     556let rec classify_aop_cases_rect_Type0 h_aop_case_ii h_aop_default x_7594 x_7593 = function
    557557| Aop_case_ii (sz, sg) -> h_aop_case_ii sz sg
    558558| Aop_default (ty, ty') -> h_aop_default ty ty'
     
    636636    Csyntax.type0 -> 'a1) -> (Csyntax.type0 -> Csyntax.type0 -> 'a1) ->
    637637    Csyntax.type0 -> Csyntax.type0 -> classify_cmp_cases -> 'a1 **)
    638 let rec classify_cmp_cases_rect_Type4 h_cmp_case_ii h_cmp_case_pp h_cmp_default x_7518 x_7517 = function
     638let rec classify_cmp_cases_rect_Type4 h_cmp_case_ii h_cmp_case_pp h_cmp_default x_7635 x_7634 = function
    639639| Cmp_case_ii (sz, sg) -> h_cmp_case_ii sz sg
    640640| Cmp_case_pp (n, ty) -> h_cmp_case_pp n ty
     
    645645    Csyntax.type0 -> 'a1) -> (Csyntax.type0 -> Csyntax.type0 -> 'a1) ->
    646646    Csyntax.type0 -> Csyntax.type0 -> classify_cmp_cases -> 'a1 **)
    647 let rec classify_cmp_cases_rect_Type5 h_cmp_case_ii h_cmp_case_pp h_cmp_default x_7524 x_7523 = function
     647let rec classify_cmp_cases_rect_Type5 h_cmp_case_ii h_cmp_case_pp h_cmp_default x_7641 x_7640 = function
    648648| Cmp_case_ii (sz, sg) -> h_cmp_case_ii sz sg
    649649| Cmp_case_pp (n, ty) -> h_cmp_case_pp n ty
     
    654654    Csyntax.type0 -> 'a1) -> (Csyntax.type0 -> Csyntax.type0 -> 'a1) ->
    655655    Csyntax.type0 -> Csyntax.type0 -> classify_cmp_cases -> 'a1 **)
    656 let rec classify_cmp_cases_rect_Type3 h_cmp_case_ii h_cmp_case_pp h_cmp_default x_7530 x_7529 = function
     656let rec classify_cmp_cases_rect_Type3 h_cmp_case_ii h_cmp_case_pp h_cmp_default x_7647 x_7646 = function
    657657| Cmp_case_ii (sz, sg) -> h_cmp_case_ii sz sg
    658658| Cmp_case_pp (n, ty) -> h_cmp_case_pp n ty
     
    663663    Csyntax.type0 -> 'a1) -> (Csyntax.type0 -> Csyntax.type0 -> 'a1) ->
    664664    Csyntax.type0 -> Csyntax.type0 -> classify_cmp_cases -> 'a1 **)
    665 let rec classify_cmp_cases_rect_Type2 h_cmp_case_ii h_cmp_case_pp h_cmp_default x_7536 x_7535 = function
     665let rec classify_cmp_cases_rect_Type2 h_cmp_case_ii h_cmp_case_pp h_cmp_default x_7653 x_7652 = function
    666666| Cmp_case_ii (sz, sg) -> h_cmp_case_ii sz sg
    667667| Cmp_case_pp (n, ty) -> h_cmp_case_pp n ty
     
    672672    Csyntax.type0 -> 'a1) -> (Csyntax.type0 -> Csyntax.type0 -> 'a1) ->
    673673    Csyntax.type0 -> Csyntax.type0 -> classify_cmp_cases -> 'a1 **)
    674 let rec classify_cmp_cases_rect_Type1 h_cmp_case_ii h_cmp_case_pp h_cmp_default x_7542 x_7541 = function
     674let rec classify_cmp_cases_rect_Type1 h_cmp_case_ii h_cmp_case_pp h_cmp_default x_7659 x_7658 = function
    675675| Cmp_case_ii (sz, sg) -> h_cmp_case_ii sz sg
    676676| Cmp_case_pp (n, ty) -> h_cmp_case_pp n ty
     
    681681    Csyntax.type0 -> 'a1) -> (Csyntax.type0 -> Csyntax.type0 -> 'a1) ->
    682682    Csyntax.type0 -> Csyntax.type0 -> classify_cmp_cases -> 'a1 **)
    683 let rec classify_cmp_cases_rect_Type0 h_cmp_case_ii h_cmp_case_pp h_cmp_default x_7548 x_7547 = function
     683let rec classify_cmp_cases_rect_Type0 h_cmp_case_ii h_cmp_case_pp h_cmp_default x_7665 x_7664 = function
    684684| Cmp_case_ii (sz, sg) -> h_cmp_case_ii sz sg
    685685| Cmp_case_pp (n, ty) -> h_cmp_case_pp n ty
     
    780780    -> 'a1 **)
    781781let rec classify_fun_cases_rect_Type4 h_fun_case_f h_fun_default = function
    782 | Fun_case_f (x_7596, x_7595) -> h_fun_case_f x_7596 x_7595
     782| Fun_case_f (x_7713, x_7712) -> h_fun_case_f x_7713 x_7712
    783783| Fun_default -> h_fun_default
    784784
     
    787787    -> 'a1 **)
    788788let rec classify_fun_cases_rect_Type5 h_fun_case_f h_fun_default = function
    789 | Fun_case_f (x_7601, x_7600) -> h_fun_case_f x_7601 x_7600
     789| Fun_case_f (x_7718, x_7717) -> h_fun_case_f x_7718 x_7717
    790790| Fun_default -> h_fun_default
    791791
     
    794794    -> 'a1 **)
    795795let rec classify_fun_cases_rect_Type3 h_fun_case_f h_fun_default = function
    796 | Fun_case_f (x_7606, x_7605) -> h_fun_case_f x_7606 x_7605
     796| Fun_case_f (x_7723, x_7722) -> h_fun_case_f x_7723 x_7722
    797797| Fun_default -> h_fun_default
    798798
     
    801801    -> 'a1 **)
    802802let rec classify_fun_cases_rect_Type2 h_fun_case_f h_fun_default = function
    803 | Fun_case_f (x_7611, x_7610) -> h_fun_case_f x_7611 x_7610
     803| Fun_case_f (x_7728, x_7727) -> h_fun_case_f x_7728 x_7727
    804804| Fun_default -> h_fun_default
    805805
     
    808808    -> 'a1 **)
    809809let rec classify_fun_cases_rect_Type1 h_fun_case_f h_fun_default = function
    810 | Fun_case_f (x_7616, x_7615) -> h_fun_case_f x_7616 x_7615
     810| Fun_case_f (x_7733, x_7732) -> h_fun_case_f x_7733 x_7732
    811811| Fun_default -> h_fun_default
    812812
     
    815815    -> 'a1 **)
    816816let rec classify_fun_cases_rect_Type0 h_fun_case_f h_fun_default = function
    817 | Fun_case_f (x_7621, x_7620) -> h_fun_case_f x_7621 x_7620
     817| Fun_case_f (x_7738, x_7737) -> h_fun_case_f x_7738 x_7737
    818818| Fun_default -> h_fun_default
    819819
  • extracted/cminor_semantics.ml

    r2810 r2827  
    123123let rec cont_rect_Type4 h_Kend h_Kseq h_Kblock = function
    124124| Kend -> h_Kend
    125 | Kseq (x_10, x_9) ->
    126   h_Kseq x_10 x_9 (cont_rect_Type4 h_Kend h_Kseq h_Kblock x_9)
    127 | Kblock x_11 -> h_Kblock x_11 (cont_rect_Type4 h_Kend h_Kseq h_Kblock x_11)
     125| Kseq (x_70, x_69) ->
     126  h_Kseq x_70 x_69 (cont_rect_Type4 h_Kend h_Kseq h_Kblock x_69)
     127| Kblock x_71 -> h_Kblock x_71 (cont_rect_Type4 h_Kend h_Kseq h_Kblock x_71)
    128128
    129129(** val cont_rect_Type3 :
     
    132132let rec cont_rect_Type3 h_Kend h_Kseq h_Kblock = function
    133133| Kend -> h_Kend
    134 | Kseq (x_24, x_23) ->
    135   h_Kseq x_24 x_23 (cont_rect_Type3 h_Kend h_Kseq h_Kblock x_23)
    136 | Kblock x_25 -> h_Kblock x_25 (cont_rect_Type3 h_Kend h_Kseq h_Kblock x_25)
     134| Kseq (x_84, x_83) ->
     135  h_Kseq x_84 x_83 (cont_rect_Type3 h_Kend h_Kseq h_Kblock x_83)
     136| Kblock x_85 -> h_Kblock x_85 (cont_rect_Type3 h_Kend h_Kseq h_Kblock x_85)
    137137
    138138(** val cont_rect_Type2 :
     
    141141let rec cont_rect_Type2 h_Kend h_Kseq h_Kblock = function
    142142| Kend -> h_Kend
    143 | Kseq (x_31, x_30) ->
    144   h_Kseq x_31 x_30 (cont_rect_Type2 h_Kend h_Kseq h_Kblock x_30)
    145 | Kblock x_32 -> h_Kblock x_32 (cont_rect_Type2 h_Kend h_Kseq h_Kblock x_32)
     143| Kseq (x_91, x_90) ->
     144  h_Kseq x_91 x_90 (cont_rect_Type2 h_Kend h_Kseq h_Kblock x_90)
     145| Kblock x_92 -> h_Kblock x_92 (cont_rect_Type2 h_Kend h_Kseq h_Kblock x_92)
    146146
    147147(** val cont_rect_Type1 :
     
    150150let rec cont_rect_Type1 h_Kend h_Kseq h_Kblock = function
    151151| Kend -> h_Kend
    152 | Kseq (x_38, x_37) ->
    153   h_Kseq x_38 x_37 (cont_rect_Type1 h_Kend h_Kseq h_Kblock x_37)
    154 | Kblock x_39 -> h_Kblock x_39 (cont_rect_Type1 h_Kend h_Kseq h_Kblock x_39)
     152| Kseq (x_98, x_97) ->
     153  h_Kseq x_98 x_97 (cont_rect_Type1 h_Kend h_Kseq h_Kblock x_97)
     154| Kblock x_99 -> h_Kblock x_99 (cont_rect_Type1 h_Kend h_Kseq h_Kblock x_99)
    155155
    156156(** val cont_rect_Type0 :
     
    159159let rec cont_rect_Type0 h_Kend h_Kseq h_Kblock = function
    160160| Kend -> h_Kend
    161 | Kseq (x_45, x_44) ->
    162   h_Kseq x_45 x_44 (cont_rect_Type0 h_Kend h_Kseq h_Kblock x_44)
    163 | Kblock x_46 -> h_Kblock x_46 (cont_rect_Type0 h_Kend h_Kseq h_Kblock x_46)
     161| Kseq (x_105, x_104) ->
     162  h_Kseq x_105 x_104 (cont_rect_Type0 h_Kend h_Kseq h_Kblock x_104)
     163| Kblock x_106 ->
     164  h_Kblock x_106 (cont_rect_Type0 h_Kend h_Kseq h_Kblock x_106)
    164165
    165166(** val cont_inv_rect_Type4 :
     
    221222let rec stack_rect_Type4 h_SStop h_Scall = function
    222223| SStop -> h_SStop
    223 | Scall (dest, f, x_105, en, k, x_101) ->
    224   h_Scall dest f x_105 en __ __ k __ x_101
    225     (stack_rect_Type4 h_SStop h_Scall x_101)
     224| Scall (dest, f, x_165, en, k, x_161) ->
     225  h_Scall dest f x_165 en __ __ k __ x_161
     226    (stack_rect_Type4 h_SStop h_Scall x_161)
    226227
    227228(** val stack_rect_Type3 :
     
    231232let rec stack_rect_Type3 h_SStop h_Scall = function
    232233| SStop -> h_SStop
    233 | Scall (dest, f, x_121, en, k, x_117) ->
    234   h_Scall dest f x_121 en __ __ k __ x_117
    235     (stack_rect_Type3 h_SStop h_Scall x_117)
     234| Scall (dest, f, x_181, en, k, x_177) ->
     235  h_Scall dest f x_181 en __ __ k __ x_177
     236    (stack_rect_Type3 h_SStop h_Scall x_177)
    236237
    237238(** val stack_rect_Type2 :
     
    241242let rec stack_rect_Type2 h_SStop h_Scall = function
    242243| SStop -> h_SStop
    243 | Scall (dest, f, x_129, en, k, x_125) ->
    244   h_Scall dest f x_129 en __ __ k __ x_125
    245     (stack_rect_Type2 h_SStop h_Scall x_125)
     244| Scall (dest, f, x_189, en, k, x_185) ->
     245  h_Scall dest f x_189 en __ __ k __ x_185
     246    (stack_rect_Type2 h_SStop h_Scall x_185)
    246247
    247248(** val stack_rect_Type1 :
     
    251252let rec stack_rect_Type1 h_SStop h_Scall = function
    252253| SStop -> h_SStop
    253 | Scall (dest, f, x_137, en, k, x_133) ->
    254   h_Scall dest f x_137 en __ __ k __ x_133
    255     (stack_rect_Type1 h_SStop h_Scall x_133)
     254| Scall (dest, f, x_197, en, k, x_193) ->
     255  h_Scall dest f x_197 en __ __ k __ x_193
     256    (stack_rect_Type1 h_SStop h_Scall x_193)
    256257
    257258(** val stack_rect_Type0 :
     
    261262let rec stack_rect_Type0 h_SStop h_Scall = function
    262263| SStop -> h_SStop
    263 | Scall (dest, f, x_145, en, k, x_141) ->
    264   h_Scall dest f x_145 en __ __ k __ x_141
    265     (stack_rect_Type0 h_SStop h_Scall x_141)
     264| Scall (dest, f, x_205, en, k, x_201) ->
     265  h_Scall dest f x_205 en __ __ k __ x_201
     266    (stack_rect_Type0 h_SStop h_Scall x_201)
    266267
    267268(** val stack_inv_rect_Type4 :
     
    701702                  (Obj.magic
    702703                    (trace_map_inv (fun e ->
    703                       let { Types.dpi1 = ty; Types.dpi2 = e1 } = e in
    704                       (fun _ -> eval_expr ge ty e1 en sp m)) args))
     704                      let { Types.dpi1 = ty; Types.dpi2 = e0 } = e in
     705                      (fun _ -> eval_expr ge ty e0 en sp m)) args))
    705706                  (fun tr' vargs ->
    706707                  Monad.m_return0 (Monad.max_def Errors.res0) { Types.fst =
     
    735736                 (GenMem.free m sp), st0)) }))
    736737         | Types.Some e ->
    737            let { Types.dpi1 = ty; Types.dpi2 = e1 } = e in
     738           let { Types.dpi1 = ty; Types.dpi2 = e0 } = e in
    738739           (fun _ ->
    739740           Obj.magic
    740741             (Monad.m_bind2 (Monad.max_def Errors.res0)
    741                (Obj.magic (eval_expr ge ty e1 en sp m)) (fun tr v ->
     742               (Obj.magic (eval_expr ge ty e0 en sp m)) (fun tr v ->
    742743               Monad.m_return0 (Monad.max_def Errors.res0) { Types.fst = tr;
    743744                 Types.snd = (Returnstate ((Types.Some v),
     
    750751      | Cminor_syntax.St_goto l ->
    751752        (fun _ ->
    752           let sk = find_label_always l (Cminor_syntax.f_body f) Kend f en in
     753          let sk = find_label_always l f.Cminor_syntax.f_body Kend f en in
    753754          Obj.magic
    754755            (Monad.m_return0 (Monad.max_def Errors.res0) { Types.fst =
     
    767768       (let { Types.fst = m'; Types.snd = sp } =
    768769          GenMem.alloc m (Z.z_of_nat Nat.O)
    769             (Z.z_of_nat (Cminor_syntax.f_stacksize f))
     770            (Z.z_of_nat f.Cminor_syntax.f_stacksize)
    770771        in
    771772       Obj.magic
    772773         (Monad.m_bind0 (Monad.max_def Errors.res0)
    773            (Obj.magic (bind_params args (Cminor_syntax.f_params f)))
    774            (fun en ->
     774           (Obj.magic (bind_params args f.Cminor_syntax.f_params)) (fun en ->
    775775           Monad.m_return0 (Monad.max_def Errors.res0) { Types.fst =
    776              Events.e0; Types.snd = (State (f, (Cminor_syntax.f_body f),
    777              (init_locals (Types.pi1 en) (Cminor_syntax.f_vars f)), m', sp,
     776             Events.e0; Types.snd = (State (f, f.Cminor_syntax.f_body,
     777             (init_locals (Types.pi1 en) f.Cminor_syntax.f_vars), m', sp,
    778778             Kend, st0)) })))
    779779   | AST.External fn ->
     
    782782         (Obj.magic
    783783           (IOMonad.err_to_io
    784              (IO.check_eventval_list args (AST.sig_args (AST.ef_sig fn)))))
     784             (IO.check_eventval_list args fn.AST.ef_sig.AST.sig_args)))
    785785         (fun evargs ->
    786786         Monad.m_bind0 (Monad.max_def IOMonad.iOMonad)
    787787           (Obj.magic
    788              (IO.do_io (AST.ef_id fn) evargs
    789                (AST.proj_sig_res (AST.ef_sig fn)))) (fun evres ->
     788             (IO.do_io fn.AST.ef_id evargs (AST.proj_sig_res fn.AST.ef_sig)))
     789           (fun evres ->
    790790           let res =
    791              match AST.sig_res (AST.ef_sig fn) with
     791             match fn.AST.ef_sig.AST.sig_res with
    792792             | Types.None -> Types.None
    793793             | Types.Some x0 ->
    794                Types.Some
    795                  (IO.mk_val (AST.proj_sig_res (AST.ef_sig fn)) evres)
     794               Types.Some (IO.mk_val (AST.proj_sig_res fn.AST.ef_sig) evres)
    796795           in
    797796           Monad.m_return0 (Monad.max_def IOMonad.iOMonad) { Types.fst =
    798              (Events.eextcall (AST.ef_id fn) evargs
    799                (IO.mk_eventval (AST.proj_sig_res (AST.ef_sig fn)) evres));
     797             (Events.eextcall fn.AST.ef_id evargs
     798               (IO.mk_eventval (AST.proj_sig_res fn.AST.ef_sig) evres));
    800799             Types.snd = (Returnstate (res, m, st0)) }))))
    801800| Returnstate (result, m, st0) ->
     
    880879        (Obj.magic
    881880          (Errors.opt_to_res (Errors.msg ErrorMessages.MainMissing)
    882             (Globalenvs.find_symbol ge (AST.prog_main p)))) (fun b ->
     881            (Globalenvs.find_symbol ge p.AST.prog_main))) (fun b ->
    883882        Monad.m_bind0 (Monad.max_def Errors.res0)
    884883          (Obj.magic
    885884            (Errors.opt_to_res (Errors.msg ErrorMessages.MainMissing)
    886885              (Globalenvs.find_funct_ptr ge b))) (fun f ->
    887           Obj.magic (Errors.OK (Callstate ((AST.prog_main p), f, List.Nil, m,
     886          Obj.magic (Errors.OK (Callstate (p.AST.prog_main, f, List.Nil, m,
    888887            SStop)))))))
    889888
     
    910909        (Obj.magic
    911910          (Errors.opt_to_res (Errors.msg ErrorMessages.MainMissing)
    912             (Globalenvs.find_symbol ge (AST.prog_main p)))) (fun b ->
     911            (Globalenvs.find_symbol ge p.AST.prog_main))) (fun b ->
    913912        Monad.m_bind0 (Monad.max_def Errors.res0)
    914913          (Obj.magic
    915914            (Errors.opt_to_res (Errors.msg ErrorMessages.MainMissing)
    916915              (Globalenvs.find_funct_ptr ge b))) (fun f ->
    917           Obj.magic (Errors.OK (Callstate ((AST.prog_main p), f, List.Nil, m,
     916          Obj.magic (Errors.OK (Callstate (p.AST.prog_main, f, List.Nil, m,
    918917            SStop)))))))
    919918
  • extracted/cminor_syntax.ml

    r2797 r2827  
    113113    -> 'a1 -> 'a1 -> 'a1) -> (AST.typ -> CostLabel.costlabel -> expr -> 'a1
    114114    -> 'a1) -> AST.typ -> expr -> 'a1 **)
    115 let rec expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost x_13629 = function
    116 | Id (t, x_13631) -> h_Id t x_13631
    117 | Cst (t, x_13632) -> h_Cst t x_13632
    118 | Op1 (t, t', x_13634, x_13633) ->
    119   h_Op1 t t' x_13634 x_13633
    120     (expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13633)
    121 | Op2 (t1, t2, t', x_13637, x_13636, x_13635) ->
    122   h_Op2 t1 t2 t' x_13637 x_13636 x_13635
    123     (expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t1 x_13636)
    124     (expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t2 x_13635)
    125 | Mem (t, x_13638) ->
    126   h_Mem t x_13638
     115let rec expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost x_13746 = function
     116| Id (t, x_13748) -> h_Id t x_13748
     117| Cst (t, x_13749) -> h_Cst t x_13749
     118| Op1 (t, t', x_13751, x_13750) ->
     119  h_Op1 t t' x_13751 x_13750
     120    (expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13750)
     121| Op2 (t1, t2, t', x_13754, x_13753, x_13752) ->
     122  h_Op2 t1 t2 t' x_13754 x_13753 x_13752
     123    (expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t1 x_13753)
     124    (expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t2 x_13752)
     125| Mem (t, x_13755) ->
     126  h_Mem t x_13755
    127127    (expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost AST.ASTptr
    128       x_13638)
    129 | Cond (sz, sg, t, x_13641, x_13640, x_13639) ->
    130   h_Cond sz sg t x_13641 x_13640 x_13639
     128      x_13755)
     129| Cond (sz, sg, t, x_13758, x_13757, x_13756) ->
     130  h_Cond sz sg t x_13758 x_13757 x_13756
    131131    (expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost (AST.ASTint
    132       (sz, sg)) x_13641)
    133     (expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13640)
    134     (expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13639)
    135 | Ecost (t, x_13643, x_13642) ->
    136   h_Ecost t x_13643 x_13642
    137     (expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13642)
     132      (sz, sg)) x_13758)
     133    (expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13757)
     134    (expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13756)
     135| Ecost (t, x_13760, x_13759) ->
     136  h_Ecost t x_13760 x_13759
     137    (expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13759)
    138138
    139139(** val expr_rect_Type3 :
     
    145145    -> 'a1 -> 'a1 -> 'a1) -> (AST.typ -> CostLabel.costlabel -> expr -> 'a1
    146146    -> 'a1) -> AST.typ -> expr -> 'a1 **)
    147 let rec expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost x_13673 = function
    148 | Id (t, x_13675) -> h_Id t x_13675
    149 | Cst (t, x_13676) -> h_Cst t x_13676
    150 | Op1 (t, t', x_13678, x_13677) ->
    151   h_Op1 t t' x_13678 x_13677
    152     (expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13677)
    153 | Op2 (t1, t2, t', x_13681, x_13680, x_13679) ->
    154   h_Op2 t1 t2 t' x_13681 x_13680 x_13679
    155     (expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t1 x_13680)
    156     (expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t2 x_13679)
    157 | Mem (t, x_13682) ->
    158   h_Mem t x_13682
     147let rec expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost x_13790 = function
     148| Id (t, x_13792) -> h_Id t x_13792
     149| Cst (t, x_13793) -> h_Cst t x_13793
     150| Op1 (t, t', x_13795, x_13794) ->
     151  h_Op1 t t' x_13795 x_13794
     152    (expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13794)
     153| Op2 (t1, t2, t', x_13798, x_13797, x_13796) ->
     154  h_Op2 t1 t2 t' x_13798 x_13797 x_13796
     155    (expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t1 x_13797)
     156    (expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t2 x_13796)
     157| Mem (t, x_13799) ->
     158  h_Mem t x_13799
    159159    (expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost AST.ASTptr
    160       x_13682)
    161 | Cond (sz, sg, t, x_13685, x_13684, x_13683) ->
    162   h_Cond sz sg t x_13685 x_13684 x_13683
     160      x_13799)
     161| Cond (sz, sg, t, x_13802, x_13801, x_13800) ->
     162  h_Cond sz sg t x_13802 x_13801 x_13800
    163163    (expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost (AST.ASTint
    164       (sz, sg)) x_13685)
    165     (expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13684)
    166     (expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13683)
    167 | Ecost (t, x_13687, x_13686) ->
    168   h_Ecost t x_13687 x_13686
    169     (expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13686)
     164      (sz, sg)) x_13802)
     165    (expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13801)
     166    (expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13800)
     167| Ecost (t, x_13804, x_13803) ->
     168  h_Ecost t x_13804 x_13803
     169    (expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13803)
    170170
    171171(** val expr_rect_Type2 :
     
    177177    -> 'a1 -> 'a1 -> 'a1) -> (AST.typ -> CostLabel.costlabel -> expr -> 'a1
    178178    -> 'a1) -> AST.typ -> expr -> 'a1 **)
    179 let rec expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost x_13695 = function
    180 | Id (t, x_13697) -> h_Id t x_13697
    181 | Cst (t, x_13698) -> h_Cst t x_13698
    182 | Op1 (t, t', x_13700, x_13699) ->
    183   h_Op1 t t' x_13700 x_13699
    184     (expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13699)
    185 | Op2 (t1, t2, t', x_13703, x_13702, x_13701) ->
    186   h_Op2 t1 t2 t' x_13703 x_13702 x_13701
    187     (expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t1 x_13702)
    188     (expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t2 x_13701)
    189 | Mem (t, x_13704) ->
    190   h_Mem t x_13704
     179let rec expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost x_13812 = function
     180| Id (t, x_13814) -> h_Id t x_13814
     181| Cst (t, x_13815) -> h_Cst t x_13815
     182| Op1 (t, t', x_13817, x_13816) ->
     183  h_Op1 t t' x_13817 x_13816
     184    (expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13816)
     185| Op2 (t1, t2, t', x_13820, x_13819, x_13818) ->
     186  h_Op2 t1 t2 t' x_13820 x_13819 x_13818
     187    (expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t1 x_13819)
     188    (expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t2 x_13818)
     189| Mem (t, x_13821) ->
     190  h_Mem t x_13821
    191191    (expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost AST.ASTptr
    192       x_13704)
    193 | Cond (sz, sg, t, x_13707, x_13706, x_13705) ->
    194   h_Cond sz sg t x_13707 x_13706 x_13705
     192      x_13821)
     193| Cond (sz, sg, t, x_13824, x_13823, x_13822) ->
     194  h_Cond sz sg t x_13824 x_13823 x_13822
    195195    (expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost (AST.ASTint
    196       (sz, sg)) x_13707)
    197     (expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13706)
    198     (expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13705)
    199 | Ecost (t, x_13709, x_13708) ->
    200   h_Ecost t x_13709 x_13708
    201     (expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13708)
     196      (sz, sg)) x_13824)
     197    (expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13823)
     198    (expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13822)
     199| Ecost (t, x_13826, x_13825) ->
     200  h_Ecost t x_13826 x_13825
     201    (expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13825)
    202202
    203203(** val expr_rect_Type1 :
     
    209209    -> 'a1 -> 'a1 -> 'a1) -> (AST.typ -> CostLabel.costlabel -> expr -> 'a1
    210210    -> 'a1) -> AST.typ -> expr -> 'a1 **)
    211 let rec expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost x_13717 = function
    212 | Id (t, x_13719) -> h_Id t x_13719
    213 | Cst (t, x_13720) -> h_Cst t x_13720
    214 | Op1 (t, t', x_13722, x_13721) ->
    215   h_Op1 t t' x_13722 x_13721
    216     (expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13721)
    217 | Op2 (t1, t2, t', x_13725, x_13724, x_13723) ->
    218   h_Op2 t1 t2 t' x_13725 x_13724 x_13723
    219     (expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t1 x_13724)
    220     (expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t2 x_13723)
    221 | Mem (t, x_13726) ->
    222   h_Mem t x_13726
     211let rec expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost x_13834 = function
     212| Id (t, x_13836) -> h_Id t x_13836
     213| Cst (t, x_13837) -> h_Cst t x_13837
     214| Op1 (t, t', x_13839, x_13838) ->
     215  h_Op1 t t' x_13839 x_13838
     216    (expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13838)
     217| Op2 (t1, t2, t', x_13842, x_13841, x_13840) ->
     218  h_Op2 t1 t2 t' x_13842 x_13841 x_13840
     219    (expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t1 x_13841)
     220    (expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t2 x_13840)
     221| Mem (t, x_13843) ->
     222  h_Mem t x_13843
    223223    (expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost AST.ASTptr
    224       x_13726)
    225 | Cond (sz, sg, t, x_13729, x_13728, x_13727) ->
    226   h_Cond sz sg t x_13729 x_13728 x_13727
     224      x_13843)
     225| Cond (sz, sg, t, x_13846, x_13845, x_13844) ->
     226  h_Cond sz sg t x_13846 x_13845 x_13844
    227227    (expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost (AST.ASTint
    228       (sz, sg)) x_13729)
    229     (expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13728)
    230     (expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13727)
    231 | Ecost (t, x_13731, x_13730) ->
    232   h_Ecost t x_13731 x_13730
    233     (expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13730)
     228      (sz, sg)) x_13846)
     229    (expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13845)
     230    (expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13844)
     231| Ecost (t, x_13848, x_13847) ->
     232  h_Ecost t x_13848 x_13847
     233    (expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13847)
    234234
    235235(** val expr_rect_Type0 :
     
    241241    -> 'a1 -> 'a1 -> 'a1) -> (AST.typ -> CostLabel.costlabel -> expr -> 'a1
    242242    -> 'a1) -> AST.typ -> expr -> 'a1 **)
    243 let rec expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost x_13739 = function
    244 | Id (t, x_13741) -> h_Id t x_13741
    245 | Cst (t, x_13742) -> h_Cst t x_13742
    246 | Op1 (t, t', x_13744, x_13743) ->
    247   h_Op1 t t' x_13744 x_13743
    248     (expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13743)
    249 | Op2 (t1, t2, t', x_13747, x_13746, x_13745) ->
    250   h_Op2 t1 t2 t' x_13747 x_13746 x_13745
    251     (expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t1 x_13746)
    252     (expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t2 x_13745)
    253 | Mem (t, x_13748) ->
    254   h_Mem t x_13748
     243let rec expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost x_13856 = function
     244| Id (t, x_13858) -> h_Id t x_13858
     245| Cst (t, x_13859) -> h_Cst t x_13859
     246| Op1 (t, t', x_13861, x_13860) ->
     247  h_Op1 t t' x_13861 x_13860
     248    (expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13860)
     249| Op2 (t1, t2, t', x_13864, x_13863, x_13862) ->
     250  h_Op2 t1 t2 t' x_13864 x_13863 x_13862
     251    (expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t1 x_13863)
     252    (expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t2 x_13862)
     253| Mem (t, x_13865) ->
     254  h_Mem t x_13865
    255255    (expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost AST.ASTptr
    256       x_13748)
    257 | Cond (sz, sg, t, x_13751, x_13750, x_13749) ->
    258   h_Cond sz sg t x_13751 x_13750 x_13749
     256      x_13865)
     257| Cond (sz, sg, t, x_13868, x_13867, x_13866) ->
     258  h_Cond sz sg t x_13868 x_13867 x_13866
    259259    (expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost (AST.ASTint
    260       (sz, sg)) x_13751)
    261     (expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13750)
    262     (expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13749)
    263 | Ecost (t, x_13753, x_13752) ->
    264   h_Ecost t x_13753 x_13752
    265     (expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13752)
     260      (sz, sg)) x_13868)
     261    (expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13867)
     262    (expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13866)
     263| Ecost (t, x_13870, x_13869) ->
     264  h_Ecost t x_13870 x_13869
     265    (expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13869)
    266266
    267267(** val expr_inv_rect_Type4 :
     
    373373let 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
    374374| St_skip -> h_St_skip
    375 | St_assign (t, x_13924, x_13923) -> h_St_assign t x_13924 x_13923
    376 | St_store (t, x_13926, x_13925) -> h_St_store t x_13926 x_13925
    377 | St_call (x_13929, x_13928, x_13927) -> h_St_call x_13929 x_13928 x_13927
    378 | St_seq (x_13931, x_13930) ->
    379   h_St_seq x_13931 x_13930
     375| St_assign (t, x_14041, x_14040) -> h_St_assign t x_14041 x_14040
     376| St_store (t, x_14043, x_14042) -> h_St_store t x_14043 x_14042
     377| St_call (x_14046, x_14045, x_14044) -> h_St_call x_14046 x_14045 x_14044
     378| St_seq (x_14048, x_14047) ->
     379  h_St_seq x_14048 x_14047
    380380    (stmt_rect_Type4 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    381       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_13931)
     381      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14048)
    382382    (stmt_rect_Type4 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    383       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_13930)
    384 | St_ifthenelse (sz, sg, x_13934, x_13933, x_13932) ->
    385   h_St_ifthenelse sz sg x_13934 x_13933 x_13932
     383      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14047)
     384| St_ifthenelse (sz, sg, x_14051, x_14050, x_14049) ->
     385  h_St_ifthenelse sz sg x_14051 x_14050 x_14049
    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_13933)
     387      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14050)
    388388    (stmt_rect_Type4 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    389       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_13932)
    390 | St_return x_13935 -> h_St_return x_13935
    391 | St_label (x_13937, x_13936) ->
    392   h_St_label x_13937 x_13936
     389      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14049)
     390| St_return x_14052 -> h_St_return x_14052
     391| St_label (x_14054, x_14053) ->
     392  h_St_label x_14054 x_14053
    393393    (stmt_rect_Type4 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    394       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_13936)
    395 | St_goto x_13938 -> h_St_goto x_13938
    396 | St_cost (x_13940, x_13939) ->
    397   h_St_cost x_13940 x_13939
     394      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14053)
     395| St_goto x_14055 -> h_St_goto x_14055
     396| St_cost (x_14057, x_14056) ->
     397  h_St_cost x_14057 x_14056
    398398    (stmt_rect_Type4 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    399       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_13939)
     399      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14056)
    400400
    401401(** val stmt_rect_Type3 :
     
    410410let 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
    411411| St_skip -> h_St_skip
    412 | St_assign (t, x_13982, x_13981) -> h_St_assign t x_13982 x_13981
    413 | St_store (t, x_13984, x_13983) -> h_St_store t x_13984 x_13983
    414 | St_call (x_13987, x_13986, x_13985) -> h_St_call x_13987 x_13986 x_13985
    415 | St_seq (x_13989, x_13988) ->
    416   h_St_seq x_13989 x_13988
     412| St_assign (t, x_14099, x_14098) -> h_St_assign t x_14099 x_14098
     413| St_store (t, x_14101, x_14100) -> h_St_store t x_14101 x_14100
     414| St_call (x_14104, x_14103, x_14102) -> h_St_call x_14104 x_14103 x_14102
     415| St_seq (x_14106, x_14105) ->
     416  h_St_seq x_14106 x_14105
    417417    (stmt_rect_Type3 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    418       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_13989)
     418      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14106)
    419419    (stmt_rect_Type3 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    420       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_13988)
    421 | St_ifthenelse (sz, sg, x_13992, x_13991, x_13990) ->
    422   h_St_ifthenelse sz sg x_13992 x_13991 x_13990
     420      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14105)
     421| St_ifthenelse (sz, sg, x_14109, x_14108, x_14107) ->
     422  h_St_ifthenelse sz sg x_14109 x_14108 x_14107
    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_13991)
     424      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14108)
    425425    (stmt_rect_Type3 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    426       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_13990)
    427 | St_return x_13993 -> h_St_return x_13993
    428 | St_label (x_13995, x_13994) ->
    429   h_St_label x_13995 x_13994
     426      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14107)
     427| St_return x_14110 -> h_St_return x_14110
     428| St_label (x_14112, x_14111) ->
     429  h_St_label x_14112 x_14111
    430430    (stmt_rect_Type3 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    431       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_13994)
    432 | St_goto x_13996 -> h_St_goto x_13996
    433 | St_cost (x_13998, x_13997) ->
    434   h_St_cost x_13998 x_13997
     431      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14111)
     432| St_goto x_14113 -> h_St_goto x_14113
     433| St_cost (x_14115, x_14114) ->
     434  h_St_cost x_14115 x_14114
    435435    (stmt_rect_Type3 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    436       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_13997)
     436      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14114)
    437437
    438438(** val stmt_rect_Type2 :
     
    447447let 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
    448448| St_skip -> h_St_skip
    449 | St_assign (t, x_14011, x_14010) -> h_St_assign t x_14011 x_14010
    450 | St_store (t, x_14013, x_14012) -> h_St_store t x_14013 x_14012
    451 | St_call (x_14016, x_14015, x_14014) -> h_St_call x_14016 x_14015 x_14014
    452 | St_seq (x_14018, x_14017) ->
    453   h_St_seq x_14018 x_14017
     449| St_assign (t, x_14128, x_14127) -> h_St_assign t x_14128 x_14127
     450| St_store (t, x_14130, x_14129) -> h_St_store t x_14130 x_14129
     451| St_call (x_14133, x_14132, x_14131) -> h_St_call x_14133 x_14132 x_14131
     452| St_seq (x_14135, x_14134) ->
     453  h_St_seq x_14135 x_14134
    454454    (stmt_rect_Type2 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    455       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14018)
     455      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14135)
    456456    (stmt_rect_Type2 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    457       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14017)
    458 | St_ifthenelse (sz, sg, x_14021, x_14020, x_14019) ->
    459   h_St_ifthenelse sz sg x_14021 x_14020 x_14019
     457      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14134)
     458| St_ifthenelse (sz, sg, x_14138, x_14137, x_14136) ->
     459  h_St_ifthenelse sz sg x_14138 x_14137 x_14136
    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_14020)
     461      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14137)
    462462    (stmt_rect_Type2 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    463       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14019)
    464 | St_return x_14022 -> h_St_return x_14022
    465 | St_label (x_14024, x_14023) ->
    466   h_St_label x_14024 x_14023
     463      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14136)
     464| St_return x_14139 -> h_St_return x_14139
     465| St_label (x_14141, x_14140) ->
     466  h_St_label x_14141 x_14140
    467467    (stmt_rect_Type2 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    468       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14023)
    469 | St_goto x_14025 -> h_St_goto x_14025
    470 | St_cost (x_14027, x_14026) ->
    471   h_St_cost x_14027 x_14026
     468      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14140)
     469| St_goto x_14142 -> h_St_goto x_14142
     470| St_cost (x_14144, x_14143) ->
     471  h_St_cost x_14144 x_14143
    472472    (stmt_rect_Type2 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    473       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14026)
     473      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14143)
    474474
    475475(** val stmt_rect_Type1 :
     
    484484let 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
    485485| St_skip -> h_St_skip
    486 | St_assign (t, x_14040, x_14039) -> h_St_assign t x_14040 x_14039
    487 | St_store (t, x_14042, x_14041) -> h_St_store t x_14042 x_14041
    488 | St_call (x_14045, x_14044, x_14043) -> h_St_call x_14045 x_14044 x_14043
    489 | St_seq (x_14047, x_14046) ->
    490   h_St_seq x_14047 x_14046
     486| St_assign (t, x_14157, x_14156) -> h_St_assign t x_14157 x_14156
     487| St_store (t, x_14159, x_14158) -> h_St_store t x_14159 x_14158
     488| St_call (x_14162, x_14161, x_14160) -> h_St_call x_14162 x_14161 x_14160
     489| St_seq (x_14164, x_14163) ->
     490  h_St_seq x_14164 x_14163
    491491    (stmt_rect_Type1 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    492       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14047)
     492      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14164)
    493493    (stmt_rect_Type1 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    494       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14046)
    495 | St_ifthenelse (sz, sg, x_14050, x_14049, x_14048) ->
    496   h_St_ifthenelse sz sg x_14050 x_14049 x_14048
     494      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14163)
     495| St_ifthenelse (sz, sg, x_14167, x_14166, x_14165) ->
     496  h_St_ifthenelse sz sg x_14167 x_14166 x_14165
    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_14049)
     498      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14166)
    499499    (stmt_rect_Type1 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    500       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14048)
    501 | St_return x_14051 -> h_St_return x_14051
    502 | St_label (x_14053, x_14052) ->
    503   h_St_label x_14053 x_14052
     500      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14165)
     501| St_return x_14168 -> h_St_return x_14168
     502| St_label (x_14170, x_14169) ->
     503  h_St_label x_14170 x_14169
    504504    (stmt_rect_Type1 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    505       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14052)
    506 | St_goto x_14054 -> h_St_goto x_14054
    507 | St_cost (x_14056, x_14055) ->
    508   h_St_cost x_14056 x_14055
     505      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14169)
     506| St_goto x_14171 -> h_St_goto x_14171
     507| St_cost (x_14173, x_14172) ->
     508  h_St_cost x_14173 x_14172
    509509    (stmt_rect_Type1 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    510       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14055)
     510      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14172)
    511511
    512512(** val stmt_rect_Type0 :
     
    521521let 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
    522522| St_skip -> h_St_skip
    523 | St_assign (t, x_14069, x_14068) -> h_St_assign t x_14069 x_14068
    524 | St_store (t, x_14071, x_14070) -> h_St_store t x_14071 x_14070
    525 | St_call (x_14074, x_14073, x_14072) -> h_St_call x_14074 x_14073 x_14072
    526 | St_seq (x_14076, x_14075) ->
    527   h_St_seq x_14076 x_14075
     523| St_assign (t, x_14186, x_14185) -> h_St_assign t x_14186 x_14185
     524| St_store (t, x_14188, x_14187) -> h_St_store t x_14188 x_14187
     525| St_call (x_14191, x_14190, x_14189) -> h_St_call x_14191 x_14190 x_14189
     526| St_seq (x_14193, x_14192) ->
     527  h_St_seq x_14193 x_14192
    528528    (stmt_rect_Type0 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    529       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14076)
     529      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14193)
    530530    (stmt_rect_Type0 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    531       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14075)
    532 | St_ifthenelse (sz, sg, x_14079, x_14078, x_14077) ->
    533   h_St_ifthenelse sz sg x_14079 x_14078 x_14077
     531      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14192)
     532| St_ifthenelse (sz, sg, x_14196, x_14195, x_14194) ->
     533  h_St_ifthenelse sz sg x_14196 x_14195 x_14194
    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_14078)
     535      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14195)
    536536    (stmt_rect_Type0 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    537       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14077)
    538 | St_return x_14080 -> h_St_return x_14080
    539 | St_label (x_14082, x_14081) ->
    540   h_St_label x_14082 x_14081
     537      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14194)
     538| St_return x_14197 -> h_St_return x_14197
     539| St_label (x_14199, x_14198) ->
     540  h_St_label x_14199 x_14198
    541541    (stmt_rect_Type0 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    542       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14081)
    543 | St_goto x_14083 -> h_St_goto x_14083
    544 | St_cost (x_14085, x_14084) ->
    545   h_St_cost x_14085 x_14084
     542      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14198)
     543| St_goto x_14200 -> h_St_goto x_14200
     544| St_cost (x_14202, x_14201) ->
     545  h_St_cost x_14202 x_14201
    546546    (stmt_rect_Type0 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    547       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14084)
     547      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14201)
    548548
    549549(** val stmt_inv_rect_Type4 :
     
    757757    (AST.ident, AST.typ) Types.prod List.list -> __ -> Nat.nat -> stmt -> __
    758758    -> 'a1) -> internal_function -> 'a1 **)
    759 let rec internal_function_rect_Type4 h_mk_internal_function x_14380 =
     759let rec internal_function_rect_Type4 h_mk_internal_function x_14497 =
    760760  let { f_return = f_return0; f_params = f_params0; f_vars = f_vars0;
    761     f_stacksize = f_stacksize0; f_body = f_body0 } = x_14380
     761    f_stacksize = f_stacksize0; f_body = f_body0 } = x_14497
    762762  in
    763763  h_mk_internal_function f_return0 f_params0 f_vars0 __ f_stacksize0 f_body0
     
    768768    (AST.ident, AST.typ) Types.prod List.list -> __ -> Nat.nat -> stmt -> __
    769769    -> 'a1) -> internal_function -> 'a1 **)
    770 let rec internal_function_rect_Type5 h_mk_internal_function x_14382 =
     770let rec internal_function_rect_Type5 h_mk_internal_function x_14499 =
    771771  let { f_return = f_return0; f_params = f_params0; f_vars = f_vars0;
    772     f_stacksize = f_stacksize0; f_body = f_body0 } = x_14382
     772    f_stacksize = f_stacksize0; f_body = f_body0 } = x_14499
    773773  in
    774774  h_mk_internal_function f_return0 f_params0 f_vars0 __ f_stacksize0 f_body0
     
    779779    (AST.ident, AST.typ) Types.prod List.list -> __ -> Nat.nat -> stmt -> __
    780780    -> 'a1) -> internal_function -> 'a1 **)
    781 let rec internal_function_rect_Type3 h_mk_internal_function x_14384 =
     781let rec internal_function_rect_Type3 h_mk_internal_function x_14501 =
    782782  let { f_return = f_return0; f_params = f_params0; f_vars = f_vars0;
    783     f_stacksize = f_stacksize0; f_body = f_body0 } = x_14384
     783    f_stacksize = f_stacksize0; f_body = f_body0 } = x_14501
    784784  in
    785785  h_mk_internal_function f_return0 f_params0 f_vars0 __ f_stacksize0 f_body0
     
    790790    (AST.ident, AST.typ) Types.prod List.list -> __ -> Nat.nat -> stmt -> __
    791791    -> 'a1) -> internal_function -> 'a1 **)
    792 let rec internal_function_rect_Type2 h_mk_internal_function x_14386 =
     792let rec internal_function_rect_Type2 h_mk_internal_function x_14503 =
    793793  let { f_return = f_return0; f_params = f_params0; f_vars = f_vars0;
    794     f_stacksize = f_stacksize0; f_body = f_body0 } = x_14386
     794    f_stacksize = f_stacksize0; f_body = f_body0 } = x_14503
    795795  in
    796796  h_mk_internal_function f_return0 f_params0 f_vars0 __ f_stacksize0 f_body0
     
    801801    (AST.ident, AST.typ) Types.prod List.list -> __ -> Nat.nat -> stmt -> __
    802802    -> 'a1) -> internal_function -> 'a1 **)
    803 let rec internal_function_rect_Type1 h_mk_internal_function x_14388 =
     803let rec internal_function_rect_Type1 h_mk_internal_function x_14505 =
    804804  let { f_return = f_return0; f_params = f_params0; f_vars = f_vars0;
    805     f_stacksize = f_stacksize0; f_body = f_body0 } = x_14388
     805    f_stacksize = f_stacksize0; f_body = f_body0 } = x_14505
    806806  in
    807807  h_mk_internal_function f_return0 f_params0 f_vars0 __ f_stacksize0 f_body0
     
    812812    (AST.ident, AST.typ) Types.prod List.list -> __ -> Nat.nat -> stmt -> __
    813813    -> 'a1) -> internal_function -> 'a1 **)
    814 let rec internal_function_rect_Type0 h_mk_internal_function x_14390 =
     814let rec internal_function_rect_Type0 h_mk_internal_function x_14507 =
    815815  let { f_return = f_return0; f_params = f_params0; f_vars = f_vars0;
    816     f_stacksize = f_stacksize0; f_body = f_body0 } = x_14390
     816    f_stacksize = f_stacksize0; f_body = f_body0 } = x_14507
    817817  in
    818818  h_mk_internal_function f_return0 f_params0 f_vars0 __ f_stacksize0 f_body0
  • extracted/compiler.ml

    r2797 r2827  
    204204          | Bool.False ->
    205205            Obj.magic (Errors.Error
    206               (Errors.msg ErrorMessages.RepeatedCostLabel)))
     206              (Errors.msg ErrorMessages.RepeatedCostLabel0)))
    207207       | Bool.False ->
    208208         Obj.magic (Errors.Error (Errors.msg ErrorMessages.BadCostLabelling)))))
     
    281281  let p1 = RTLToERTL.rtl_to_ertl p0 in
    282282  let p2 = ERTLToERTLptr.ertl_to_ertlptr p1 in
    283   let { Types.fst = eta29073; Types.snd = max_stack } =
     283  let { Types.fst = eta29084; Types.snd = max_stack } =
    284284    ERTLptrToLTL.ertlptr_to_ltl compute_fixpoint colour_graph p2
    285285  in
    286   let { Types.fst = p3; Types.snd = stack_cost } = eta29073 in
     286  let { Types.fst = p3; Types.snd = stack_cost } = eta29084 in
    287287  let p4 = LTLToLIN.ltl_to_lin p3 in
    288288  Obj.magic
     
    352352    Csyntax.clight_program -> Label.clight_cost_map -> 'a1) ->
    353353    compiler_output -> 'a1 **)
    354 let rec compiler_output_rect_Type4 h_mk_compiler_output x_24899 =
     354let rec compiler_output_rect_Type4 h_mk_compiler_output x_25025 =
    355355  let { c_labelled_object_code = c_labelled_object_code0; c_stack_cost =
    356356    c_stack_cost0; c_max_stack = c_max_stack0; c_labelled_clight =
    357     c_labelled_clight0; c_clight_cost_map = c_clight_cost_map0 } = x_24899
     357    c_labelled_clight0; c_clight_cost_map = c_clight_cost_map0 } = x_25025
    358358  in
    359359  h_mk_compiler_output c_labelled_object_code0 c_stack_cost0 c_max_stack0
     
    364364    Csyntax.clight_program -> Label.clight_cost_map -> 'a1) ->
    365365    compiler_output -> 'a1 **)
    366 let rec compiler_output_rect_Type5 h_mk_compiler_output x_24901 =
     366let rec compiler_output_rect_Type5 h_mk_compiler_output x_25027 =
    367367  let { c_labelled_object_code = c_labelled_object_code0; c_stack_cost =
    368368    c_stack_cost0; c_max_stack = c_max_stack0; c_labelled_clight =
    369     c_labelled_clight0; c_clight_cost_map = c_clight_cost_map0 } = x_24901
     369    c_labelled_clight0; c_clight_cost_map = c_clight_cost_map0 } = x_25027
    370370  in
    371371  h_mk_compiler_output c_labelled_object_code0 c_stack_cost0 c_max_stack0
     
    376376    Csyntax.clight_program -> Label.clight_cost_map -> 'a1) ->
    377377    compiler_output -> 'a1 **)
    378 let rec compiler_output_rect_Type3 h_mk_compiler_output x_24903 =
     378let rec compiler_output_rect_Type3 h_mk_compiler_output x_25029 =
    379379  let { c_labelled_object_code = c_labelled_object_code0; c_stack_cost =
    380380    c_stack_cost0; c_max_stack = c_max_stack0; c_labelled_clight =
    381     c_labelled_clight0; c_clight_cost_map = c_clight_cost_map0 } = x_24903
     381    c_labelled_clight0; c_clight_cost_map = c_clight_cost_map0 } = x_25029
    382382  in
    383383  h_mk_compiler_output c_labelled_object_code0 c_stack_cost0 c_max_stack0
     
    388388    Csyntax.clight_program -> Label.clight_cost_map -> 'a1) ->
    389389    compiler_output -> 'a1 **)
    390 let rec compiler_output_rect_Type2 h_mk_compiler_output x_24905 =
     390let rec compiler_output_rect_Type2 h_mk_compiler_output x_25031 =
    391391  let { c_labelled_object_code = c_labelled_object_code0; c_stack_cost =
    392392    c_stack_cost0; c_max_stack = c_max_stack0; c_labelled_clight =
    393     c_labelled_clight0; c_clight_cost_map = c_clight_cost_map0 } = x_24905
     393    c_labelled_clight0; c_clight_cost_map = c_clight_cost_map0 } = x_25031
    394394  in
    395395  h_mk_compiler_output c_labelled_object_code0 c_stack_cost0 c_max_stack0
     
    400400    Csyntax.clight_program -> Label.clight_cost_map -> 'a1) ->
    401401    compiler_output -> 'a1 **)
    402 let rec compiler_output_rect_Type1 h_mk_compiler_output x_24907 =
     402let rec compiler_output_rect_Type1 h_mk_compiler_output x_25033 =
    403403  let { c_labelled_object_code = c_labelled_object_code0; c_stack_cost =
    404404    c_stack_cost0; c_max_stack = c_max_stack0; c_labelled_clight =
    405     c_labelled_clight0; c_clight_cost_map = c_clight_cost_map0 } = x_24907
     405    c_labelled_clight0; c_clight_cost_map = c_clight_cost_map0 } = x_25033
    406406  in
    407407  h_mk_compiler_output c_labelled_object_code0 c_stack_cost0 c_max_stack0
     
    412412    Csyntax.clight_program -> Label.clight_cost_map -> 'a1) ->
    413413    compiler_output -> 'a1 **)
    414 let rec compiler_output_rect_Type0 h_mk_compiler_output x_24909 =
     414let rec compiler_output_rect_Type0 h_mk_compiler_output x_25035 =
    415415  let { c_labelled_object_code = c_labelled_object_code0; c_stack_cost =
    416416    c_stack_cost0; c_max_stack = c_max_stack0; c_labelled_clight =
    417     c_labelled_clight0; c_clight_cost_map = c_clight_cost_map0 } = x_24909
     417    c_labelled_clight0; c_clight_cost_map = c_clight_cost_map0 } = x_25035
    418418  in
    419419  h_mk_compiler_output c_labelled_object_code0 c_stack_cost0 c_max_stack0
  • extracted/csem.ml

    r2797 r2827  
    778778let rec cont_rect_Type4 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3 h_Kswitch h_Kcall = function
    779779| Kstop -> h_Kstop
    780 | Kseq (x_8570, x_8569) ->
    781   h_Kseq x_8570 x_8569
     780| Kseq (x_8687, x_8686) ->
     781  h_Kseq x_8687 x_8686
    782782    (cont_rect_Type4 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    783       h_Kswitch h_Kcall x_8569)
    784 | Kwhile (x_8573, x_8572, x_8571) ->
    785   h_Kwhile x_8573 x_8572 x_8571
     783      h_Kswitch h_Kcall x_8686)
     784| Kwhile (x_8690, x_8689, x_8688) ->
     785  h_Kwhile x_8690 x_8689 x_8688
    786786    (cont_rect_Type4 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    787       h_Kswitch h_Kcall x_8571)
    788 | Kdowhile (x_8576, x_8575, x_8574) ->
    789   h_Kdowhile x_8576 x_8575 x_8574
     787      h_Kswitch h_Kcall x_8688)
     788| Kdowhile (x_8693, x_8692, x_8691) ->
     789  h_Kdowhile x_8693 x_8692 x_8691
    790790    (cont_rect_Type4 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    791       h_Kswitch h_Kcall x_8574)
    792 | Kfor2 (x_8580, x_8579, x_8578, x_8577) ->
    793   h_Kfor2 x_8580 x_8579 x_8578 x_8577
     791      h_Kswitch h_Kcall x_8691)
     792| Kfor2 (x_8697, x_8696, x_8695, x_8694) ->
     793  h_Kfor2 x_8697 x_8696 x_8695 x_8694
    794794    (cont_rect_Type4 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    795       h_Kswitch h_Kcall x_8577)
    796 | Kfor3 (x_8584, x_8583, x_8582, x_8581) ->
    797   h_Kfor3 x_8584 x_8583 x_8582 x_8581
     795      h_Kswitch h_Kcall x_8694)
     796| Kfor3 (x_8701, x_8700, x_8699, x_8698) ->
     797  h_Kfor3 x_8701 x_8700 x_8699 x_8698
    798798    (cont_rect_Type4 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    799       h_Kswitch h_Kcall x_8581)
    800 | Kswitch x_8585 ->
    801   h_Kswitch x_8585
     799      h_Kswitch h_Kcall x_8698)
     800| Kswitch x_8702 ->
     801  h_Kswitch x_8702
    802802    (cont_rect_Type4 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    803       h_Kswitch h_Kcall x_8585)
    804 | Kcall (x_8589, x_8588, x_8587, x_8586) ->
    805   h_Kcall x_8589 x_8588 x_8587 x_8586
     803      h_Kswitch h_Kcall x_8702)
     804| Kcall (x_8706, x_8705, x_8704, x_8703) ->
     805  h_Kcall x_8706 x_8705 x_8704 x_8703
    806806    (cont_rect_Type4 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    807       h_Kswitch h_Kcall x_8586)
     807      h_Kswitch h_Kcall x_8703)
    808808
    809809(** val cont_rect_Type3 :
     
    818818let rec cont_rect_Type3 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3 h_Kswitch h_Kcall = function
    819819| Kstop -> h_Kstop
    820 | Kseq (x_8630, x_8629) ->
    821   h_Kseq x_8630 x_8629
     820| Kseq (x_8747, x_8746) ->
     821  h_Kseq x_8747 x_8746
    822822    (cont_rect_Type3 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    823       h_Kswitch h_Kcall x_8629)
    824 | Kwhile (x_8633, x_8632, x_8631) ->
    825   h_Kwhile x_8633 x_8632 x_8631
     823      h_Kswitch h_Kcall x_8746)
     824| Kwhile (x_8750, x_8749, x_8748) ->
     825  h_Kwhile x_8750 x_8749 x_8748
    826826    (cont_rect_Type3 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    827       h_Kswitch h_Kcall x_8631)
    828 | Kdowhile (x_8636, x_8635, x_8634) ->
    829   h_Kdowhile x_8636 x_8635 x_8634
     827      h_Kswitch h_Kcall x_8748)
     828| Kdowhile (x_8753, x_8752, x_8751) ->
     829  h_Kdowhile x_8753 x_8752 x_8751
    830830    (cont_rect_Type3 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    831       h_Kswitch h_Kcall x_8634)
    832 | Kfor2 (x_8640, x_8639, x_8638, x_8637) ->
    833   h_Kfor2 x_8640 x_8639 x_8638 x_8637
     831      h_Kswitch h_Kcall x_8751)
     832| Kfor2 (x_8757, x_8756, x_8755, x_8754) ->
     833  h_Kfor2 x_8757 x_8756 x_8755 x_8754
    834834    (cont_rect_Type3 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    835       h_Kswitch h_Kcall x_8637)
    836 | Kfor3 (x_8644, x_8643, x_8642, x_8641) ->
    837   h_Kfor3 x_8644 x_8643 x_8642 x_8641
     835      h_Kswitch h_Kcall x_8754)
     836| Kfor3 (x_8761, x_8760, x_8759, x_8758) ->
     837  h_Kfor3 x_8761 x_8760 x_8759 x_8758
    838838    (cont_rect_Type3 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    839       h_Kswitch h_Kcall x_8641)
    840 | Kswitch x_8645 ->
    841   h_Kswitch x_8645
     839      h_Kswitch h_Kcall x_8758)
     840| Kswitch x_8762 ->
     841  h_Kswitch x_8762
    842842    (cont_rect_Type3 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    843       h_Kswitch h_Kcall x_8645)
    844 | Kcall (x_8649, x_8648, x_8647, x_8646) ->
    845   h_Kcall x_8649 x_8648 x_8647 x_8646
     843      h_Kswitch h_Kcall x_8762)
     844| Kcall (x_8766, x_8765, x_8764, x_8763) ->
     845  h_Kcall x_8766 x_8765 x_8764 x_8763
    846846    (cont_rect_Type3 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    847       h_Kswitch h_Kcall x_8646)
     847      h_Kswitch h_Kcall x_8763)
    848848
    849849(** val cont_rect_Type2 :
     
    858858let rec cont_rect_Type2 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3 h_Kswitch h_Kcall = function
    859859| Kstop -> h_Kstop
    860 | Kseq (x_8660, x_8659) ->
    861   h_Kseq x_8660 x_8659
     860| Kseq (x_8777, x_8776) ->
     861  h_Kseq x_8777 x_8776
    862862    (cont_rect_Type2 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    863       h_Kswitch h_Kcall x_8659)
    864 | Kwhile (x_8663, x_8662, x_8661) ->
    865   h_Kwhile x_8663 x_8662 x_8661
     863      h_Kswitch h_Kcall x_8776)
     864| Kwhile (x_8780, x_8779, x_8778) ->
     865  h_Kwhile x_8780 x_8779 x_8778
    866866    (cont_rect_Type2 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    867       h_Kswitch h_Kcall x_8661)
    868 | Kdowhile (x_8666, x_8665, x_8664) ->
    869   h_Kdowhile x_8666 x_8665 x_8664
     867      h_Kswitch h_Kcall x_8778)
     868| Kdowhile (x_8783, x_8782, x_8781) ->
     869  h_Kdowhile x_8783 x_8782 x_8781
    870870    (cont_rect_Type2 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    871       h_Kswitch h_Kcall x_8664)
    872 | Kfor2 (x_8670, x_8669, x_8668, x_8667) ->
    873   h_Kfor2 x_8670 x_8669 x_8668 x_8667
     871      h_Kswitch h_Kcall x_8781)
     872| Kfor2 (x_8787, x_8786, x_8785, x_8784) ->
     873  h_Kfor2 x_8787 x_8786 x_8785 x_8784
    874874    (cont_rect_Type2 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    875       h_Kswitch h_Kcall x_8667)
    876 | Kfor3 (x_8674, x_8673, x_8672, x_8671) ->
    877   h_Kfor3 x_8674 x_8673 x_8672 x_8671
     875      h_Kswitch h_Kcall x_8784)
     876| Kfor3 (x_8791, x_8790, x_8789, x_8788) ->
     877  h_Kfor3 x_8791 x_8790 x_8789 x_8788
    878878    (cont_rect_Type2 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    879       h_Kswitch h_Kcall x_8671)
    880 | Kswitch x_8675 ->
    881   h_Kswitch x_8675
     879      h_Kswitch h_Kcall x_8788)
     880| Kswitch x_8792 ->
     881  h_Kswitch x_8792
    882882    (cont_rect_Type2 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    883       h_Kswitch h_Kcall x_8675)
    884 | Kcall (x_8679, x_8678, x_8677, x_8676) ->
    885   h_Kcall x_8679 x_8678 x_8677 x_8676
     883      h_Kswitch h_Kcall x_8792)
     884| Kcall (x_8796, x_8795, x_8794, x_8793) ->
     885  h_Kcall x_8796 x_8795 x_8794 x_8793
    886886    (cont_rect_Type2 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    887       h_Kswitch h_Kcall x_8676)
     887      h_Kswitch h_Kcall x_8793)
    888888
    889889(** val cont_rect_Type1 :
     
    898898let rec cont_rect_Type1 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3 h_Kswitch h_Kcall = function
    899899| Kstop -> h_Kstop
    900 | Kseq (x_8690, x_8689) ->
    901   h_Kseq x_8690 x_8689
     900| Kseq (x_8807, x_8806) ->
     901  h_Kseq x_8807 x_8806
    902902    (cont_rect_Type1 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    903       h_Kswitch h_Kcall x_8689)
    904 | Kwhile (x_8693, x_8692, x_8691) ->
    905   h_Kwhile x_8693 x_8692 x_8691
     903      h_Kswitch h_Kcall x_8806)
     904| Kwhile (x_8810, x_8809, x_8808) ->
     905  h_Kwhile x_8810 x_8809 x_8808
    906906    (cont_rect_Type1 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    907       h_Kswitch h_Kcall x_8691)
    908 | Kdowhile (x_8696, x_8695, x_8694) ->
    909   h_Kdowhile x_8696 x_8695 x_8694
     907      h_Kswitch h_Kcall x_8808)
     908| Kdowhile (x_8813, x_8812, x_8811) ->
     909  h_Kdowhile x_8813 x_8812 x_8811
    910910    (cont_rect_Type1 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    911       h_Kswitch h_Kcall x_8694)
    912 | Kfor2 (x_8700, x_8699, x_8698, x_8697) ->
    913   h_Kfor2 x_8700 x_8699 x_8698 x_8697
     911      h_Kswitch h_Kcall x_8811)
     912| Kfor2 (x_8817, x_8816, x_8815, x_8814) ->
     913  h_Kfor2 x_8817 x_8816 x_8815 x_8814
    914914    (cont_rect_Type1 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    915       h_Kswitch h_Kcall x_8697)
    916 | Kfor3 (x_8704, x_8703, x_8702, x_8701) ->
    917   h_Kfor3 x_8704 x_8703 x_8702 x_8701
     915      h_Kswitch h_Kcall x_8814)
     916| Kfor3 (x_8821, x_8820, x_8819, x_8818) ->
     917  h_Kfor3 x_8821 x_8820 x_8819 x_8818
    918918    (cont_rect_Type1 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    919       h_Kswitch h_Kcall x_8701)
    920 | Kswitch x_8705 ->
    921   h_Kswitch x_8705
     919      h_Kswitch h_Kcall x_8818)
     920| Kswitch x_8822 ->
     921  h_Kswitch x_8822
    922922    (cont_rect_Type1 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    923       h_Kswitch h_Kcall x_8705)
    924 | Kcall (x_8709, x_8708, x_8707, x_8706) ->
    925   h_Kcall x_8709 x_8708 x_8707 x_8706
     923      h_Kswitch h_Kcall x_8822)
     924| Kcall (x_8826, x_8825, x_8824, x_8823) ->
     925  h_Kcall x_8826 x_8825 x_8824 x_8823
    926926    (cont_rect_Type1 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    927       h_Kswitch h_Kcall x_8706)
     927      h_Kswitch h_Kcall x_8823)
    928928
    929929(** val cont_rect_Type0 :
     
    938938let rec cont_rect_Type0 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3 h_Kswitch h_Kcall = function
    939939| Kstop -> h_Kstop
    940 | Kseq (x_8720, x_8719) ->
    941   h_Kseq x_8720 x_8719
     940| Kseq (x_8837, x_8836) ->
     941  h_Kseq x_8837 x_8836
    942942    (cont_rect_Type0 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    943       h_Kswitch h_Kcall x_8719)
    944 | Kwhile (x_8723, x_8722, x_8721) ->
    945   h_Kwhile x_8723 x_8722 x_8721
     943      h_Kswitch h_Kcall x_8836)
     944| Kwhile (x_8840, x_8839, x_8838) ->
     945  h_Kwhile x_8840 x_8839 x_8838
    946946    (cont_rect_Type0 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    947       h_Kswitch h_Kcall x_8721)
    948 | Kdowhile (x_8726, x_8725, x_8724) ->
    949   h_Kdowhile x_8726 x_8725 x_8724
     947      h_Kswitch h_Kcall x_8838)
     948| Kdowhile (x_8843, x_8842, x_8841) ->
     949  h_Kdowhile x_8843 x_8842 x_8841
    950950    (cont_rect_Type0 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    951       h_Kswitch h_Kcall x_8724)
    952 | Kfor2 (x_8730, x_8729, x_8728, x_8727) ->
    953   h_Kfor2 x_8730 x_8729 x_8728 x_8727
     951      h_Kswitch h_Kcall x_8841)
     952| Kfor2 (x_8847, x_8846, x_8845, x_8844) ->
     953  h_Kfor2 x_8847 x_8846 x_8845 x_8844
    954954    (cont_rect_Type0 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    955       h_Kswitch h_Kcall x_8727)
    956 | Kfor3 (x_8734, x_8733, x_8732, x_8731) ->
    957   h_Kfor3 x_8734 x_8733 x_8732 x_8731
     955      h_Kswitch h_Kcall x_8844)
     956| Kfor3 (x_8851, x_8850, x_8849, x_8848) ->
     957  h_Kfor3 x_8851 x_8850 x_8849 x_8848
    958958    (cont_rect_Type0 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    959       h_Kswitch h_Kcall x_8731)
    960 | Kswitch x_8735 ->
    961   h_Kswitch x_8735
     959      h_Kswitch h_Kcall x_8848)
     960| Kswitch x_8852 ->
     961  h_Kswitch x_8852
    962962    (cont_rect_Type0 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    963       h_Kswitch h_Kcall x_8735)
    964 | Kcall (x_8739, x_8738, x_8737, x_8736) ->
    965   h_Kcall x_8739 x_8738 x_8737 x_8736
     963      h_Kswitch h_Kcall x_8852)
     964| Kcall (x_8856, x_8855, x_8854, x_8853) ->
     965  h_Kcall x_8856 x_8855 x_8854 x_8853
    966966    (cont_rect_Type0 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3
    967       h_Kswitch h_Kcall x_8736)
     967      h_Kswitch h_Kcall x_8853)
    968968
    969969(** val cont_inv_rect_Type4 :
  • extracted/csyntax.ml

    r2797 r2827  
    12031203    (type0 -> (AST.ident, type0) Types.prod List.list -> (AST.ident, type0)
    12041204    Types.prod List.list -> statement -> 'a1) -> function0 -> 'a1 **)
    1205 let rec function_rect_Type4 h_mk_function x_4365 =
     1205let rec function_rect_Type4 h_mk_function x_4482 =
    12061206  let { fn_return = fn_return0; fn_params = fn_params0; fn_vars = fn_vars0;
    1207     fn_body = fn_body0 } = x_4365
     1207    fn_body = fn_body0 } = x_4482
    12081208  in
    12091209  h_mk_function fn_return0 fn_params0 fn_vars0 fn_body0
     
    12121212    (type0 -> (AST.ident, type0) Types.prod List.list -> (AST.ident, type0)
    12131213    Types.prod List.list -> statement -> 'a1) -> function0 -> 'a1 **)
    1214 let rec function_rect_Type5 h_mk_function x_4367 =
     1214let rec function_rect_Type5 h_mk_function x_4484 =
    12151215  let { fn_return = fn_return0; fn_params = fn_params0; fn_vars = fn_vars0;
    1216     fn_body = fn_body0 } = x_4367
     1216    fn_body = fn_body0 } = x_4484
    12171217  in
    12181218  h_mk_function fn_return0 fn_params0 fn_vars0 fn_body0
     
    12211221    (type0 -> (AST.ident, type0) Types.prod List.list -> (AST.ident, type0)
    12221222    Types.prod List.list -> statement -> 'a1) -> function0 -> 'a1 **)
    1223 let rec function_rect_Type3 h_mk_function x_4369 =
     1223let rec function_rect_Type3 h_mk_function x_4486 =
    12241224  let { fn_return = fn_return0; fn_params = fn_params0; fn_vars = fn_vars0;
    1225     fn_body = fn_body0 } = x_4369
     1225    fn_body = fn_body0 } = x_4486
    12261226  in
    12271227  h_mk_function fn_return0 fn_params0 fn_vars0 fn_body0
     
    12301230    (type0 -> (AST.ident, type0) Types.prod List.list -> (AST.ident, type0)
    12311231    Types.prod List.list -> statement -> 'a1) -> function0 -> 'a1 **)
    1232 let rec function_rect_Type2 h_mk_function x_4371 =
     1232let rec function_rect_Type2 h_mk_function x_4488 =
    12331233  let { fn_return = fn_return0; fn_params = fn_params0; fn_vars = fn_vars0;
    1234     fn_body = fn_body0 } = x_4371
     1234    fn_body = fn_body0 } = x_4488
    12351235  in
    12361236  h_mk_function fn_return0 fn_params0 fn_vars0 fn_body0
     
    12391239    (type0 -> (AST.ident, type0) Types.prod List.list -> (AST.ident, type0)
    12401240    Types.prod List.list -> statement -> 'a1) -> function0 -> 'a1 **)
    1241 let rec function_rect_Type1 h_mk_function x_4373 =
     1241let rec function_rect_Type1 h_mk_function x_4490 =
    12421242  let { fn_return = fn_return0; fn_params = fn_params0; fn_vars = fn_vars0;
    1243     fn_body = fn_body0 } = x_4373
     1243    fn_body = fn_body0 } = x_4490
    12441244  in
    12451245  h_mk_function fn_return0 fn_params0 fn_vars0 fn_body0
     
    12481248    (type0 -> (AST.ident, type0) Types.prod List.list -> (AST.ident, type0)
    12491249    Types.prod List.list -> statement -> 'a1) -> function0 -> 'a1 **)
    1250 let rec function_rect_Type0 h_mk_function x_4375 =
     1250let rec function_rect_Type0 h_mk_function x_4492 =
    12511251  let { fn_return = fn_return0; fn_params = fn_params0; fn_vars = fn_vars0;
    1252     fn_body = fn_body0 } = x_4375
     1252    fn_body = fn_body0 } = x_4492
    12531253  in
    12541254  h_mk_function fn_return0 fn_params0 fn_vars0 fn_body0
     
    13221322    clight_fundef -> 'a1 **)
    13231323let rec clight_fundef_rect_Type4 h_CL_Internal h_CL_External = function
    1324 | CL_Internal x_4397 -> h_CL_Internal x_4397
    1325 | CL_External (x_4400, x_4399, x_4398) -> h_CL_External x_4400 x_4399 x_4398
     1324| CL_Internal x_4514 -> h_CL_Internal x_4514
     1325| CL_External (x_4517, x_4516, x_4515) -> h_CL_External x_4517 x_4516 x_4515
    13261326
    13271327(** val clight_fundef_rect_Type5 :
     
    13291329    clight_fundef -> 'a1 **)
    13301330let rec clight_fundef_rect_Type5 h_CL_Internal h_CL_External = function
    1331 | CL_Internal x_4404 -> h_CL_Internal x_4404
    1332 | CL_External (x_4407, x_4406, x_4405) -> h_CL_External x_4407 x_4406 x_4405
     1331| CL_Internal x_4521 -> h_CL_Internal x_4521
     1332| CL_External (x_4524, x_4523, x_4522) -> h_CL_External x_4524 x_4523 x_4522
    13331333
    13341334(** val clight_fundef_rect_Type3 :
     
    13361336    clight_fundef -> 'a1 **)
    13371337let rec clight_fundef_rect_Type3 h_CL_Internal h_CL_External = function
    1338 | CL_Internal x_4411 -> h_CL_Internal x_4411
    1339 | CL_External (x_4414, x_4413, x_4412) -> h_CL_External x_4414 x_4413 x_4412
     1338| CL_Internal x_4528 -> h_CL_Internal x_4528
     1339| CL_External (x_4531, x_4530, x_4529) -> h_CL_External x_4531 x_4530 x_4529
    13401340
    13411341(** val clight_fundef_rect_Type2 :
     
    13431343    clight_fundef -> 'a1 **)
    13441344let rec clight_fundef_rect_Type2 h_CL_Internal h_CL_External = function
    1345 | CL_Internal x_4418 -> h_CL_Internal x_4418
    1346 | CL_External (x_4421, x_4420, x_4419) -> h_CL_External x_4421 x_4420 x_4419
     1345| CL_Internal x_4535 -> h_CL_Internal x_4535
     1346| CL_External (x_4538, x_4537, x_4536) -> h_CL_External x_4538 x_4537 x_4536
    13471347
    13481348(** val clight_fundef_rect_Type1 :
     
    13501350    clight_fundef -> 'a1 **)
    13511351let rec clight_fundef_rect_Type1 h_CL_Internal h_CL_External = function
    1352 | CL_Internal x_4425 -> h_CL_Internal x_4425
    1353 | CL_External (x_4428, x_4427, x_4426) -> h_CL_External x_4428 x_4427 x_4426
     1352| CL_Internal x_4542 -> h_CL_Internal x_4542
     1353| CL_External (x_4545, x_4544, x_4543) -> h_CL_External x_4545 x_4544 x_4543
    13541354
    13551355(** val clight_fundef_rect_Type0 :
     
    13571357    clight_fundef -> 'a1 **)
    13581358let rec clight_fundef_rect_Type0 h_CL_Internal h_CL_External = function
    1359 | CL_Internal x_4432 -> h_CL_Internal x_4432
    1360 | CL_External (x_4435, x_4434, x_4433) -> h_CL_External x_4435 x_4434 x_4433
     1359| CL_Internal x_4549 -> h_CL_Internal x_4549
     1360| CL_External (x_4552, x_4551, x_4550) -> h_CL_External x_4552 x_4551 x_4550
    13611361
    13621362(** val clight_fundef_inv_rect_Type4 :
     
    15321532(** val mode_rect_Type4 :
    15331533    (AST.typ -> 'a1) -> 'a1 -> (AST.typ -> 'a1) -> AST.typ -> mode -> 'a1 **)
    1534 let rec mode_rect_Type4 h_By_value h_By_reference h_By_nothing x_4485 = function
     1534let rec mode_rect_Type4 h_By_value h_By_reference h_By_nothing x_4602 = function
    15351535| By_value t -> h_By_value t
    15361536| By_reference -> h_By_reference
     
    15391539(** val mode_rect_Type5 :
    15401540    (AST.typ -> 'a1) -> 'a1 -> (AST.typ -> 'a1) -> AST.typ -> mode -> 'a1 **)
    1541 let rec mode_rect_Type5 h_By_value h_By_reference h_By_nothing x_4490 = function
     1541let rec mode_rect_Type5 h_By_value h_By_reference h_By_nothing x_4607 = function
    15421542| By_value t -> h_By_value t
    15431543| By_reference -> h_By_reference
     
    15461546(** val mode_rect_Type3 :
    15471547    (AST.typ -> 'a1) -> 'a1 -> (AST.typ -> 'a1) -> AST.typ -> mode -> 'a1 **)
    1548 let rec mode_rect_Type3 h_By_value h_By_reference h_By_nothing x_4495 = function
     1548let rec mode_rect_Type3 h_By_value h_By_reference h_By_nothing x_4612 = function
    15491549| By_value t -> h_By_value t
    15501550| By_reference -> h_By_reference
     
    15531553(** val mode_rect_Type2 :
    15541554    (AST.typ -> 'a1) -> 'a1 -> (AST.typ -> 'a1) -> AST.typ -> mode -> 'a1 **)
    1555 let rec mode_rect_Type2 h_By_value h_By_reference h_By_nothing x_4500 = function
     1555let rec mode_rect_Type2 h_By_value h_By_reference h_By_nothing x_4617 = function
    15561556| By_value t -> h_By_value t
    15571557| By_reference -> h_By_reference
     
    15601560(** val mode_rect_Type1 :
    15611561    (AST.typ -> 'a1) -> 'a1 -> (AST.typ -> 'a1) -> AST.typ -> mode -> 'a1 **)
    1562 let rec mode_rect_Type1 h_By_value h_By_reference h_By_nothing x_4505 = function
     1562let rec mode_rect_Type1 h_By_value h_By_reference h_By_nothing x_4622 = function
    15631563| By_value t -> h_By_value t
    15641564| By_reference -> h_By_reference
     
    15671567(** val mode_rect_Type0 :
    15681568    (AST.typ -> 'a1) -> 'a1 -> (AST.typ -> 'a1) -> AST.typ -> mode -> 'a1 **)
    1569 let rec mode_rect_Type0 h_By_value h_By_reference h_By_nothing x_4510 = function
     1569let rec mode_rect_Type0 h_By_value h_By_reference h_By_nothing x_4627 = function
    15701570| By_value t -> h_By_value t
    15711571| By_reference -> h_By_reference
  • extracted/division.ml

    r2797 r2827  
    2828let rec natp_rect_Type4 h_pzero h_ppos = function
    2929| Pzero -> h_pzero
    30 | Ppos x_4771 -> h_ppos x_4771
     30| Ppos x_4888 -> h_ppos x_4888
    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_4775 -> h_ppos x_4775
     35| Ppos x_4892 -> h_ppos x_4892
    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_4779 -> h_ppos x_4779
     40| Ppos x_4896 -> h_ppos x_4896
    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_4783 -> h_ppos x_4783
     45| Ppos x_4900 -> h_ppos x_4900
    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_4787 -> h_ppos x_4787
     50| Ppos x_4904 -> h_ppos x_4904
    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_4791 -> h_ppos x_4791
     55| Ppos x_4908 -> h_ppos x_4908
    5656
    5757(** val natp_inv_rect_Type4 :
  • extracted/eRTL.ml

    r2797 r2827  
    112112    (Registers.register -> 'a1) -> (I8051.register -> 'a1) -> move_dst -> 'a1 **)
    113113let rec move_dst_rect_Type4 h_PSD h_HDW = function
    114 | PSD x_21121 -> h_PSD x_21121
    115 | HDW x_21122 -> h_HDW x_21122
     114| PSD x_21247 -> h_PSD x_21247
     115| HDW x_21248 -> h_HDW x_21248
    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_21126 -> h_PSD x_21126
    121 | HDW x_21127 -> h_HDW x_21127
     120| PSD x_21252 -> h_PSD x_21252
     121| HDW x_21253 -> h_HDW x_21253
    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_21131 -> h_PSD x_21131
    127 | HDW x_21132 -> h_HDW x_21132
     126| PSD x_21257 -> h_PSD x_21257
     127| HDW x_21258 -> h_HDW x_21258
    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_21136 -> h_PSD x_21136
    133 | HDW x_21137 -> h_HDW x_21137
     132| PSD x_21262 -> h_PSD x_21262
     133| HDW x_21263 -> h_HDW x_21263
    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_21141 -> h_PSD x_21141
    139 | HDW x_21142 -> h_HDW x_21142
     138| PSD x_21267 -> h_PSD x_21267
     139| HDW x_21268 -> h_HDW x_21268
    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_21146 -> h_PSD x_21146
    145 | HDW x_21147 -> h_HDW x_21147
     144| PSD x_21272 -> h_PSD x_21272
     145| HDW x_21273 -> h_HDW x_21273
    146146
    147147(** val move_dst_inv_rect_Type4 :
     
    338338| Ertl_new_frame -> h_ertl_new_frame
    339339| Ertl_del_frame -> h_ertl_del_frame
    340 | Ertl_frame_size x_21186 -> h_ertl_frame_size x_21186
     340| Ertl_frame_size x_21312 -> h_ertl_frame_size x_21312
    341341
    342342(** val ertl_seq_rect_Type5 :
     
    345345| Ertl_new_frame -> h_ertl_new_frame
    346346| Ertl_del_frame -> h_ertl_del_frame
    347 | Ertl_frame_size x_21191 -> h_ertl_frame_size x_21191
     347| Ertl_frame_size x_21317 -> h_ertl_frame_size x_21317
    348348
    349349(** val ertl_seq_rect_Type3 :
     
    352352| Ertl_new_frame -> h_ertl_new_frame
    353353| Ertl_del_frame -> h_ertl_del_frame
    354 | Ertl_frame_size x_21196 -> h_ertl_frame_size x_21196
     354| Ertl_frame_size x_21322 -> h_ertl_frame_size x_21322
    355355
    356356(** val ertl_seq_rect_Type2 :
     
    359359| Ertl_new_frame -> h_ertl_new_frame
    360360| Ertl_del_frame -> h_ertl_del_frame
    361 | Ertl_frame_size x_21201 -> h_ertl_frame_size x_21201
     361| Ertl_frame_size x_21327 -> h_ertl_frame_size x_21327
    362362
    363363(** val ertl_seq_rect_Type1 :
     
    366366| Ertl_new_frame -> h_ertl_new_frame
    367367| Ertl_del_frame -> h_ertl_del_frame
    368 | Ertl_frame_size x_21206 -> h_ertl_frame_size x_21206
     368| Ertl_frame_size x_21332 -> h_ertl_frame_size x_21332
    369369
    370370(** val ertl_seq_rect_Type0 :
     
    373373| Ertl_new_frame -> h_ertl_new_frame
    374374| Ertl_del_frame -> h_ertl_del_frame
    375 | Ertl_frame_size x_21211 -> h_ertl_frame_size x_21211
     375| Ertl_frame_size x_21337 -> h_ertl_frame_size x_21337
    376376
    377377(** val ertl_seq_inv_rect_Type4 :
  • extracted/eRTLToERTLptr.ml

    r2773 r2827  
    196196    (Types.pi1 def).Joint.joint_if_params; TranslateUtils.init_stack_size =
    197197    (Types.pi1 def).Joint.joint_if_stacksize; TranslateUtils.added_prologue =
    198     List.Nil; TranslateUtils.f_step = (translate_step globals);
    199     TranslateUtils.f_fin = (translate_fin_step globals) }
     198    List.Nil; TranslateUtils.new_regs = List.Nil; TranslateUtils.f_step =
     199    (translate_step globals); TranslateUtils.f_fin =
     200    (translate_fin_step globals) }
    200201
    201202(** val ertl_to_ertlptr : ERTL.ertl_program -> ERTLptr.ertlptr_program **)
    202203let ertl_to_ertlptr =
    203204  TranslateUtils.b_graph_transform_program ERTL.eRTL ERTLptr.eRTLptr
    204     translate_data
    205 
     205    (fun globals h -> translate_data globals h)
     206
  • extracted/eRTLptr.ml

    r2797 r2827  
    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_21255 -> h_ertlptr_ertl x_21255
    119 | LOW_ADDRESS (x_21257, x_21256) -> h_LOW_ADDRESS x_21257 x_21256
    120 | HIGH_ADDRESS (x_21259, x_21258) -> h_HIGH_ADDRESS x_21259 x_21258
     118| Ertlptr_ertl x_21381 -> h_ertlptr_ertl x_21381
     119| LOW_ADDRESS (x_21383, x_21382) -> h_LOW_ADDRESS x_21383 x_21382
     120| HIGH_ADDRESS (x_21385, x_21384) -> h_HIGH_ADDRESS x_21385 x_21384
    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_21264 -> h_ertlptr_ertl x_21264
    127 | LOW_ADDRESS (x_21266, x_21265) -> h_LOW_ADDRESS x_21266 x_21265
    128 | HIGH_ADDRESS (x_21268, x_21267) -> h_HIGH_ADDRESS x_21268 x_21267
     126| Ertlptr_ertl x_21390 -> h_ertlptr_ertl x_21390
     127| LOW_ADDRESS (x_21392, x_21391) -> h_LOW_ADDRESS x_21392 x_21391
     128| HIGH_ADDRESS (x_21394, x_21393) -> h_HIGH_ADDRESS x_21394 x_21393
    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_21273 -> h_ertlptr_ertl x_21273
    135 | LOW_ADDRESS (x_21275, x_21274) -> h_LOW_ADDRESS x_21275 x_21274
    136 | HIGH_ADDRESS (x_21277, x_21276) -> h_HIGH_ADDRESS x_21277 x_21276
     134| Ertlptr_ertl x_21399 -> h_ertlptr_ertl x_21399
     135| LOW_ADDRESS (x_21401, x_21400) -> h_LOW_ADDRESS x_21401 x_21400
     136| HIGH_ADDRESS (x_21403, x_21402) -> h_HIGH_ADDRESS x_21403 x_21402
    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_21282 -> h_ertlptr_ertl x_21282
    143 | LOW_ADDRESS (x_21284, x_21283) -> h_LOW_ADDRESS x_21284 x_21283
    144 | HIGH_ADDRESS (x_21286, x_21285) -> h_HIGH_ADDRESS x_21286 x_21285
     142| Ertlptr_ertl x_21408 -> h_ertlptr_ertl x_21408
     143| LOW_ADDRESS (x_21410, x_21409) -> h_LOW_ADDRESS x_21410 x_21409
     144| HIGH_ADDRESS (x_21412, x_21411) -> h_HIGH_ADDRESS x_21412 x_21411
    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_21291 -> h_ertlptr_ertl x_21291
    151 | LOW_ADDRESS (x_21293, x_21292) -> h_LOW_ADDRESS x_21293 x_21292
    152 | HIGH_ADDRESS (x_21295, x_21294) -> h_HIGH_ADDRESS x_21295 x_21294
     150| Ertlptr_ertl x_21417 -> h_ertlptr_ertl x_21417
     151| LOW_ADDRESS (x_21419, x_21418) -> h_LOW_ADDRESS x_21419 x_21418
     152| HIGH_ADDRESS (x_21421, x_21420) -> h_HIGH_ADDRESS x_21421 x_21420
    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_21300 -> h_ertlptr_ertl x_21300
    159 | LOW_ADDRESS (x_21302, x_21301) -> h_LOW_ADDRESS x_21302 x_21301
    160 | HIGH_ADDRESS (x_21304, x_21303) -> h_HIGH_ADDRESS x_21304 x_21303
     158| Ertlptr_ertl x_21426 -> h_ertlptr_ertl x_21426
     159| LOW_ADDRESS (x_21428, x_21427) -> h_LOW_ADDRESS x_21428 x_21427
     160| HIGH_ADDRESS (x_21430, x_21429) -> h_HIGH_ADDRESS x_21430 x_21429
    161161
    162162(** val ertlptr_seq_inv_rect_Type4 :
  • extracted/eRTLptrToLTL.ml

    r2797 r2827  
    167167    arg_decision -> 'a1 **)
    168168let rec arg_decision_rect_Type4 h_arg_decision_colour h_arg_decision_spill h_arg_decision_imm = function
    169 | Arg_decision_colour x_21810 -> h_arg_decision_colour x_21810
    170 | Arg_decision_spill x_21811 -> h_arg_decision_spill x_21811
    171 | Arg_decision_imm x_21812 -> h_arg_decision_imm x_21812
     169| Arg_decision_colour x_21936 -> h_arg_decision_colour x_21936
     170| Arg_decision_spill x_21937 -> h_arg_decision_spill x_21937
     171| Arg_decision_imm x_21938 -> h_arg_decision_imm x_21938
    172172
    173173(** val arg_decision_rect_Type5 :
     
    175175    arg_decision -> 'a1 **)
    176176let rec arg_decision_rect_Type5 h_arg_decision_colour h_arg_decision_spill h_arg_decision_imm = function
    177 | Arg_decision_colour x_21817 -> h_arg_decision_colour x_21817
    178 | Arg_decision_spill x_21818 -> h_arg_decision_spill x_21818
    179 | Arg_decision_imm x_21819 -> h_arg_decision_imm x_21819
     177| Arg_decision_colour x_21943 -> h_arg_decision_colour x_21943
     178| Arg_decision_spill x_21944 -> h_arg_decision_spill x_21944
     179| Arg_decision_imm x_21945 -> h_arg_decision_imm x_21945
    180180
    181181(** val arg_decision_rect_Type3 :
     
    183183    arg_decision -> 'a1 **)
    184184let rec arg_decision_rect_Type3 h_arg_decision_colour h_arg_decision_spill h_arg_decision_imm = function
    185 | Arg_decision_colour x_21824 -> h_arg_decision_colour x_21824
    186 | Arg_decision_spill x_21825 -> h_arg_decision_spill x_21825
    187 | Arg_decision_imm x_21826 -> h_arg_decision_imm x_21826
     185| Arg_decision_colour x_21950 -> h_arg_decision_colour x_21950
     186| Arg_decision_spill x_21951 -> h_arg_decision_spill x_21951
     187| Arg_decision_imm x_21952 -> h_arg_decision_imm x_21952
    188188
    189189(** val arg_decision_rect_Type2 :
     
    191191    arg_decision -> 'a1 **)
    192192let rec arg_decision_rect_Type2 h_arg_decision_colour h_arg_decision_spill h_arg_decision_imm = function
    193 | Arg_decision_colour x_21831 -> h_arg_decision_colour x_21831
    194 | Arg_decision_spill x_21832 -> h_arg_decision_spill x_21832
    195 | Arg_decision_imm x_21833 -> h_arg_decision_imm x_21833
     193| Arg_decision_colour x_21957 -> h_arg_decision_colour x_21957
     194| Arg_decision_spill x_21958 -> h_arg_decision_spill x_21958
     195| Arg_decision_imm x_21959 -> h_arg_decision_imm x_21959
    196196
    197197(** val arg_decision_rect_Type1 :
     
    199199    arg_decision -> 'a1 **)
    200200let rec arg_decision_rect_Type1 h_arg_decision_colour h_arg_decision_spill h_arg_decision_imm = function
    201 | Arg_decision_colour x_21838 -> h_arg_decision_colour x_21838
    202 | Arg_decision_spill x_21839 -> h_arg_decision_spill x_21839
    203 | Arg_decision_imm x_21840 -> h_arg_decision_imm x_21840
     201| Arg_decision_colour x_21964 -> h_arg_decision_colour x_21964
     202| Arg_decision_spill x_21965 -> h_arg_decision_spill x_21965
     203| Arg_decision_imm x_21966 -> h_arg_decision_imm x_21966
    204204
    205205(** val arg_decision_rect_Type0 :
     
    207207    arg_decision -> 'a1 **)
    208208let rec arg_decision_rect_Type0 h_arg_decision_colour h_arg_decision_spill h_arg_decision_imm = function
    209 | Arg_decision_colour x_21845 -> h_arg_decision_colour x_21845
    210 | Arg_decision_spill x_21846 -> h_arg_decision_spill x_21846
    211 | Arg_decision_imm x_21847 -> h_arg_decision_imm x_21847
     209| Arg_decision_colour x_21971 -> h_arg_decision_colour x_21971
     210| Arg_decision_spill x_21972 -> h_arg_decision_spill x_21972
     211| Arg_decision_imm x_21973 -> h_arg_decision_imm x_21973
    212212
    213213(** val arg_decision_inv_rect_Type4 :
     
    340340
    341341(** val get_stack :
    342     AST.ident List.list -> I8051.register -> Nat.nat -> Joint.joint_seq
    343     List.list **)
    344 let get_stack globals r off =
    345   List.append (set_dp_by_offset globals off)
     342    AST.ident List.list -> Nat.nat -> I8051.register -> Nat.nat ->
     343    Joint.joint_seq List.list **)
     344let get_stack globals localss r off =
     345  let off0 = Nat.plus localss off in
     346  List.append (set_dp_by_offset globals off0)
    346347    (List.append (List.Cons ((Joint.LOAD ((Obj.magic a),
    347348      (Obj.magic Types.It), (Obj.magic Types.It))), List.Nil))
     
    353354
    354355(** val set_stack_not_a :
    355     AST.ident List.list -> Nat.nat -> I8051.register -> Joint.joint_seq
    356     List.list **)
    357 let set_stack_not_a globals off r =
    358   List.append (set_dp_by_offset globals off) (List.Cons ((Joint.MOVE
     356    AST.ident List.list -> Nat.nat -> Nat.nat -> I8051.register ->
     357    Joint.joint_seq List.list **)
     358let set_stack_not_a globals localss off r =
     359  let off0 = Nat.plus localss off in
     360  List.append (set_dp_by_offset globals off0) (List.Cons ((Joint.MOVE
    359361    (Obj.magic (Joint_LTL_LIN.To_acc (a, r)))), (List.Cons ((Joint.STORE
    360362    ((Obj.magic Types.It), (Obj.magic Types.It), (Obj.magic a))),
     
    362364
    363365(** val set_stack_a :
    364     AST.ident List.list -> Nat.nat -> Joint.joint_seq List.list **)
    365 let set_stack_a globals off =
     366    AST.ident List.list -> Nat.nat -> Nat.nat -> Joint.joint_seq List.list **)
     367let set_stack_a globals localss off =
    366368  List.append (List.Cons ((Joint.MOVE
    367369    (Obj.magic (Joint_LTL_LIN.From_acc (I8051.registerST1, a)))), List.Nil))
    368     (set_stack_not_a globals off I8051.registerST1)
     370    (set_stack_not_a globals localss off I8051.registerST1)
    369371
    370372(** val set_stack :
    371     AST.ident List.list -> Nat.nat -> I8051.register -> Joint.joint_seq
    372     List.list **)
    373 let set_stack globals off r =
     373    AST.ident List.list -> Nat.nat -> Nat.nat -> I8051.register ->
     374    Joint.joint_seq List.list **)
     375let set_stack globals localss off r =
    374376  match I8051.eq_Register r I8051.RegisterA with
    375   | Bool.True -> set_stack_a globals off
    376   | Bool.False -> set_stack_not_a globals off r
     377  | Bool.True -> set_stack_a globals localss off
     378  | Bool.False -> set_stack_not_a globals localss off r
    377379
    378380(** val set_stack_int :
    379     AST.ident List.list -> Nat.nat -> BitVector.byte -> Joint.joint_seq
    380     List.list **)
    381 let set_stack_int globals off int =
    382   List.append (set_dp_by_offset globals off) (List.Cons ((Joint.MOVE
     381    AST.ident List.list -> Nat.nat -> Nat.nat -> BitVector.byte ->
     382    Joint.joint_seq List.list **)
     383let set_stack_int globals localss off int =
     384  let off0 = Nat.plus localss off in
     385  List.append (set_dp_by_offset globals off0) (List.Cons ((Joint.MOVE
    383386    (Obj.magic (Joint_LTL_LIN.Int_to_acc (a, int)))), (List.Cons
    384387    ((Joint.STORE ((Obj.magic Types.It), (Obj.magic Types.It),
     
    386389
    387390(** val move :
    388     AST.ident List.list -> Bool.bool -> Interference.decision -> arg_decision
    389     -> Joint.joint_seq List.list **)
    390 let move globals carry_lives_after dst src =
     391    AST.ident List.list -> Nat.nat -> Bool.bool -> Interference.decision ->
     392    arg_decision -> Joint.joint_seq List.list **)
     393let move globals localss carry_lives_after dst src =
    391394  match dst with
    392395  | Interference.Decision_spill dsto ->
     
    394397     | Arg_decision_colour srcr ->
    395398       preserve_carry_bit globals carry_lives_after
    396          (set_stack globals dsto srcr)
     399         (set_stack globals localss dsto srcr)
    397400     | Arg_decision_spill srco ->
    398401       (match Nat.eqb srco dsto with
     
    400403        | Bool.False ->
    401404          preserve_carry_bit globals carry_lives_after
    402             (List.append (get_stack globals I8051.RegisterA srco)
    403               (set_stack globals dsto I8051.RegisterA)))
     405            (List.append (get_stack globals localss I8051.RegisterA srco)
     406              (set_stack globals localss dsto I8051.RegisterA)))
    404407     | Arg_decision_imm int ->
    405408       preserve_carry_bit globals carry_lives_after
    406          (set_stack_int globals dsto int))
     409         (set_stack_int globals localss dsto int))
    407410  | Interference.Decision_colour dstr ->
    408411    (match src with
     
    428431     | Arg_decision_spill srco ->
    429432       preserve_carry_bit globals carry_lives_after
    430          (get_stack globals dstr srco)
     433         (get_stack globals localss dstr srco)
    431434     | Arg_decision_imm int ->
    432435       List.append (List.Cons ((Joint.MOVE
     
    509512
    510513(** val translate_op2 :
    511     AST.ident List.list -> Bool.bool -> BackEndOps.op2 ->
     514    AST.ident List.list -> Nat.nat -> Bool.bool -> BackEndOps.op2 ->
    512515    Interference.decision -> arg_decision -> arg_decision -> Joint.joint_seq
    513516    List.list **)
    514 let translate_op2 globals carry_lives_after op dst arg1 arg2 =
     517let translate_op2 globals localss carry_lives_after op dst arg1 arg2 =
    515518  List.append
    516519    (preserve_carry_bit globals
     
    518521        (Bool.orb (arg_is_spilled arg1) (arg_is_spilled arg2)))
    519522      (List.append
    520         (move globals Bool.False (Interference.Decision_colour
     523        (move globals localss Bool.False (Interference.Decision_colour
    521524          I8051.RegisterB) arg2)
    522         (move globals Bool.False (Interference.Decision_colour
     525        (move globals localss Bool.False (Interference.Decision_colour
    523526          I8051.RegisterA) arg1)))
    524527    (List.append (List.Cons ((Joint.OP2 (op, (Obj.magic a), (Obj.magic a),
    525528      (Obj.magic (Joint.hdw_argument_from_reg I8051.RegisterB)))), List.Nil))
    526       (move globals (Bool.andb (sets_carry op) carry_lives_after) dst
     529      (move globals localss (Bool.andb (sets_carry op) carry_lives_after) dst
    527530        (Arg_decision_colour I8051.RegisterA)))
    528531
    529532(** val translate_op2_smart :
    530     AST.ident List.list -> Bool.bool -> BackEndOps.op2 ->
     533    AST.ident List.list -> Nat.nat -> Bool.bool -> BackEndOps.op2 ->
    531534    Interference.decision -> arg_decision -> arg_decision -> Joint.joint_seq
    532535    List.list **)
    533 let translate_op2_smart globals carry_lives_after op dst arg1 arg2 =
     536let translate_op2_smart globals localss carry_lives_after op dst arg1 arg2 =
    534537  preserve_carry_bit globals
    535538    (Bool.andb (Bool.andb (Bool.notb (sets_carry op)) carry_lives_after)
     
    539542     | Arg_decision_colour arg2r ->
    540543       List.append
    541          (move globals (uses_carry op) (Interference.Decision_colour
     544         (move globals localss (uses_carry op) (Interference.Decision_colour
    542545           I8051.RegisterA) arg1)
    543546         (List.append (List.Cons ((Joint.OP2 (op, (Obj.magic a),
    544547           (Obj.magic a), (Obj.magic (Joint.hdw_argument_from_reg arg2r)))),
    545548           List.Nil))
    546            (move globals (Bool.andb (sets_carry op) carry_lives_after) dst
     549           (move globals localss
     550             (Bool.andb (sets_carry op) carry_lives_after) dst
    547551             (Arg_decision_colour I8051.RegisterA)))
    548552     | Arg_decision_spill x ->
     
    552556           | Arg_decision_colour arg1r ->
    553557             List.append
    554                (move globals (uses_carry op) (Interference.Decision_colour
    555                  I8051.RegisterA) arg2)
     558               (move globals localss (uses_carry op)
     559                 (Interference.Decision_colour I8051.RegisterA) arg2)
    556560               (List.append (List.Cons ((Joint.OP2 (op, (Obj.magic a),
    557561                 (Obj.magic a),
    558562                 (Obj.magic (Joint.hdw_argument_from_reg arg1r)))),
    559563                 List.Nil))
    560                  (move globals (Bool.andb (sets_carry op) carry_lives_after)
    561                    dst (Arg_decision_colour I8051.RegisterA)))
     564                 (move globals localss
     565                   (Bool.andb (sets_carry op) carry_lives_after) dst
     566                   (Arg_decision_colour I8051.RegisterA)))
    562567           | Arg_decision_spill x0 ->
    563              translate_op2 globals carry_lives_after op dst arg1 arg2
     568             translate_op2 globals localss carry_lives_after op dst arg1 arg2
    564569           | Arg_decision_imm arg1i ->
    565570             List.append
    566                (move globals (uses_carry op) (Interference.Decision_colour
    567                  I8051.RegisterA) arg2)
     571               (move globals localss (uses_carry op)
     572                 (Interference.Decision_colour I8051.RegisterA) arg2)
    568573               (List.append (List.Cons ((Joint.OP2 (op, (Obj.magic a),
    569574                 (Obj.magic a),
    570575                 (Obj.magic (Joint.hdw_argument_from_byte arg1i)))),
    571576                 List.Nil))
    572                  (move globals (Bool.andb (sets_carry op) carry_lives_after)
    573                    dst (Arg_decision_colour I8051.RegisterA))))
     577                 (move globals localss
     578                   (Bool.andb (sets_carry op) carry_lives_after) dst
     579                   (Arg_decision_colour I8051.RegisterA))))
    574580        | Bool.False ->
    575           translate_op2 globals carry_lives_after op dst arg1 arg2)
     581          translate_op2 globals localss carry_lives_after op dst arg1 arg2)
    576582     | Arg_decision_imm arg2i ->
    577583       List.append
    578          (move globals (uses_carry op) (Interference.Decision_colour
     584         (move globals localss (uses_carry op) (Interference.Decision_colour
    579585           I8051.RegisterA) arg1)
    580586         (List.append (List.Cons ((Joint.OP2 (op, (Obj.magic a),
    581587           (Obj.magic a), (Obj.magic (Joint.hdw_argument_from_byte arg2i)))),
    582588           List.Nil))
    583            (move globals (Bool.andb (sets_carry op) carry_lives_after) dst
     589           (move globals localss
     590             (Bool.andb (sets_carry op) carry_lives_after) dst
    584591             (Arg_decision_colour I8051.RegisterA))))
    585592
     
    644651
    645652(** val translate_op1 :
    646     AST.ident List.list -> Bool.bool -> BackEndOps.op1 ->
     653    AST.ident List.list -> Nat.nat -> Bool.bool -> BackEndOps.op1 ->
    647654    Interference.decision -> Interference.decision -> Joint.joint_seq
    648655    List.list **)
    649 let translate_op1 globals carry_lives_after op dst arg =
     656let translate_op1 globals localss carry_lives_after op dst arg =
    650657  let preserve_carry =
    651658    Bool.andb carry_lives_after (Bool.orb (is_spilled dst) (is_spilled arg))
     
    653660  preserve_carry_bit globals preserve_carry
    654661    (List.append
    655       (move globals Bool.False (Interference.Decision_colour I8051.RegisterA)
    656         (dec_to_arg_dec arg)) (List.Cons ((Joint.OP1 (op,
     662      (move globals localss Bool.False (Interference.Decision_colour
     663        I8051.RegisterA) (dec_to_arg_dec arg)) (List.Cons ((Joint.OP1 (op,
    657664      (Obj.magic Types.It), (Obj.magic Types.It))),
    658       (move globals Bool.False dst (Arg_decision_colour I8051.RegisterA)))))
     665      (move globals localss Bool.False dst (Arg_decision_colour
     666        I8051.RegisterA)))))
    659667
    660668(** val translate_opaccs :
    661     AST.ident List.list -> Bool.bool -> BackEndOps.opAccs ->
     669    AST.ident List.list -> Nat.nat -> Bool.bool -> BackEndOps.opAccs ->
    662670    Interference.decision -> Interference.decision -> arg_decision ->
    663671    arg_decision -> Joint.joint_seq List.list **)
    664 let translate_opaccs globals carry_lives_after op dst1 dst2 arg1 arg2 =
     672let translate_opaccs globals localss carry_lives_after op dst1 dst2 arg1 arg2 =
    665673  List.append
    666     (move globals Bool.False (Interference.Decision_colour I8051.RegisterB)
    667       arg2)
     674    (move globals localss Bool.False (Interference.Decision_colour
     675      I8051.RegisterB) arg2)
    668676    (List.append
    669       (move globals Bool.False (Interference.Decision_colour I8051.RegisterA)
    670         arg1) (List.Cons ((Joint.OPACCS (op, (Obj.magic Types.It),
    671       (Obj.magic Types.It), (Obj.magic Types.It), (Obj.magic Types.It))),
     677      (move globals localss Bool.False (Interference.Decision_colour
     678        I8051.RegisterA) arg1) (List.Cons ((Joint.OPACCS (op,
     679      (Obj.magic Types.It), (Obj.magic Types.It), (Obj.magic Types.It),
     680      (Obj.magic Types.It))),
    672681      (List.append
    673         (move globals Bool.False dst1 (Arg_decision_colour I8051.RegisterA))
     682        (move globals localss Bool.False dst1 (Arg_decision_colour
     683          I8051.RegisterA))
    674684        (List.append
    675           (move globals Bool.False dst2 (Arg_decision_colour
     685          (move globals localss Bool.False dst2 (Arg_decision_colour
    676686            I8051.RegisterB))
    677687          (match Bool.andb carry_lives_after
     
    681691
    682692(** val move_to_dp :
    683     AST.ident List.list -> arg_decision -> arg_decision -> Joint.joint_seq
    684     List.list **)
    685 let move_to_dp globals arg1 arg2 =
     693    AST.ident List.list -> Nat.nat -> arg_decision -> arg_decision ->
     694    Joint.joint_seq List.list **)
     695let move_to_dp globals localss arg1 arg2 =
    686696  match Bool.notb (arg_is_spilled arg1) with
    687697  | Bool.True ->
    688698    List.append
    689       (move globals Bool.False (Interference.Decision_colour
     699      (move globals localss Bool.False (Interference.Decision_colour
    690700        I8051.RegisterDPH) arg2)
    691       (move globals Bool.False (Interference.Decision_colour
     701      (move globals localss Bool.False (Interference.Decision_colour
    692702        I8051.RegisterDPL) arg1)
    693703  | Bool.False ->
     
    695705     | Bool.True ->
    696706       List.append
    697          (move globals Bool.False (Interference.Decision_colour
     707         (move globals localss Bool.False (Interference.Decision_colour
    698708           I8051.RegisterDPL) arg1)
    699          (move globals Bool.False (Interference.Decision_colour
     709         (move globals localss Bool.False (Interference.Decision_colour
    700710           I8051.RegisterDPH) arg2)
    701711     | Bool.False ->
    702712       List.append
    703          (move globals Bool.False (Interference.Decision_colour
     713         (move globals localss Bool.False (Interference.Decision_colour
    704714           I8051.RegisterB) arg1)
    705715         (List.append
    706            (move globals Bool.False (Interference.Decision_colour
     716           (move globals localss Bool.False (Interference.Decision_colour
    707717             I8051.RegisterDPH) arg2)
    708            (move globals Bool.False (Interference.Decision_colour
     718           (move globals localss Bool.False (Interference.Decision_colour
    709719             I8051.RegisterDPL) (Arg_decision_colour I8051.RegisterB))))
    710720
    711721(** val translate_store :
    712     AST.ident List.list -> Bool.bool -> arg_decision -> arg_decision ->
    713     arg_decision -> Joint.joint_seq List.list **)
    714 let translate_store globals carry_lives_after addr1 addr2 src =
     722    AST.ident List.list -> Nat.nat -> Bool.bool -> arg_decision ->
     723    arg_decision -> arg_decision -> Joint.joint_seq List.list **)
     724let translate_store globals localss carry_lives_after addr1 addr2 src =
    715725  preserve_carry_bit globals
    716726    (Bool.andb carry_lives_after
    717727      (Bool.orb (Bool.orb (arg_is_spilled addr1) (arg_is_spilled addr1))
    718728        (arg_is_spilled src)))
    719     (let move_to_dptr = move_to_dp globals addr1 addr2 in
     729    (let move_to_dptr = move_to_dp globals localss addr1 addr2 in
    720730    List.append
    721731      (match arg_is_spilled src with
    722732       | Bool.True ->
    723733         List.append
    724            (move globals Bool.False (Interference.Decision_colour
     734           (move globals localss Bool.False (Interference.Decision_colour
    725735             I8051.registerST0) src)
    726736           (List.append move_to_dptr (List.Cons ((Joint.MOVE
     
    732742
    733743(** val translate_load :
    734     AST.ident List.list -> Bool.bool -> Interference.decision -> arg_decision
    735     -> arg_decision -> Joint.joint_seq List.list **)
    736 let translate_load globals carry_lives_after dst addr1 addr2 =
     744    AST.ident List.list -> Nat.nat -> Bool.bool -> Interference.decision ->
     745    arg_decision -> arg_decision -> Joint.joint_seq List.list **)
     746let translate_load globals localss carry_lives_after dst addr1 addr2 =
    737747  preserve_carry_bit globals
    738748    (Bool.andb carry_lives_after
    739749      (Bool.orb (Bool.orb (is_spilled dst) (arg_is_spilled addr1))
    740750        (arg_is_spilled addr1)))
    741     (List.append (move_to_dp globals addr1 addr2)
     751    (List.append (move_to_dp globals localss addr1 addr2)
    742752      (List.append (List.Cons ((Joint.LOAD ((Obj.magic a),
    743753        (Obj.magic Types.It), (Obj.magic Types.It))), List.Nil))
    744         (move globals Bool.False dst (Arg_decision_colour I8051.RegisterA))))
     754        (move globals localss Bool.False dst (Arg_decision_colour
     755          I8051.RegisterA))))
    745756
    746757(** val translate_address :
    747     __ List.list -> Bool.bool -> __ -> Interference.decision ->
     758    __ List.list -> Nat.nat -> Bool.bool -> __ -> Interference.decision ->
    748759    Interference.decision -> Joint.joint_seq List.list **)
    749 let translate_address globals carry_lives_after id addr1 addr2 =
     760let translate_address globals localss carry_lives_after id addr1 addr2 =
    750761  preserve_carry_bit (Obj.magic globals)
    751762    (Bool.andb carry_lives_after
     
    754765    (Obj.magic Types.It))),
    755766    (List.append
    756       (move (Obj.magic globals) Bool.False addr1 (Arg_decision_colour
     767      (move (Obj.magic globals) localss Bool.False addr1 (Arg_decision_colour
    757768        I8051.RegisterDPL))
    758       (move (Obj.magic globals) Bool.False addr2 (Arg_decision_colour
     769      (move (Obj.magic globals) localss Bool.False addr2 (Arg_decision_colour
    759770        I8051.RegisterDPH)))))
    760771
    761772(** val translate_low_address :
    762     AST.ident List.list -> Bool.bool -> Interference.decision -> Graphs.label
    763     -> Joint.joint_seq List.list **)
    764 let translate_low_address globals carry_lives_after dst lbl =
     773    AST.ident List.list -> Nat.nat -> Bool.bool -> Interference.decision ->
     774    Graphs.label -> Joint.joint_seq List.list **)
     775let translate_low_address globals localss carry_lives_after dst lbl =
    765776  match dst with
    766777  | Interference.Decision_spill x ->
    767778    List.Cons ((Joint.Extension_seq
    768779      (Obj.magic (Joint_LTL_LIN.LOW_ADDRESS (I8051.RegisterA, lbl)))),
    769       (move globals carry_lives_after dst (Arg_decision_colour
     780      (move globals localss carry_lives_after dst (Arg_decision_colour
    770781        I8051.RegisterA)))
    771782  | Interference.Decision_colour r ->
     
    774785
    775786(** val translate_high_address :
    776     AST.ident List.list -> Bool.bool -> Interference.decision -> Graphs.label
    777     -> Joint.joint_seq List.list **)
    778 let translate_high_address globals carry_lives_after dst lbl =
     787    AST.ident List.list -> Nat.nat -> Bool.bool -> Interference.decision ->
     788    Graphs.label -> Joint.joint_seq List.list **)
     789let translate_high_address globals localss carry_lives_after dst lbl =
    779790  match dst with
    780791  | Interference.Decision_spill x ->
    781792    List.Cons ((Joint.Extension_seq
    782793      (Obj.magic (Joint_LTL_LIN.HIGH_ADDRESS (I8051.RegisterA, lbl)))),
    783       (move globals carry_lives_after dst (Arg_decision_colour
     794      (move globals localss carry_lives_after dst (Arg_decision_colour
    784795        I8051.RegisterA)))
    785796  | Interference.Decision_colour r ->
     
    788799
    789800(** val translate_step :
    790     AST.ident List.list -> Fixpoints.valuation -> Interference.coloured_graph
    791     -> Nat.nat -> Graphs.label -> Joint.joint_step -> Blocks.bind_step_block **)
    792 let translate_step globals after grph stack_sz lbl s =
     801    AST.ident List.list -> Nat.nat -> Fixpoints.valuation ->
     802    Interference.coloured_graph -> Nat.nat -> Graphs.label ->
     803    Joint.joint_step -> Blocks.bind_step_block **)
     804let translate_step globals localss after grph stack_sz lbl s =
    793805  Bind_new.Bret
    794806    (let lookup = fun r -> grph.Interference.colouring (Types.Inl r) in
     
    800812    let carry_lives_after = Liveness.hlives I8051.RegisterCarry (after lbl)
    801813    in
    802     let move0 = move globals carry_lives_after in
     814    let move0 = move globals localss carry_lives_after in
    803815    (match s with
    804816     | Joint.COST_LABEL cost_lbl ->
     
    815827          { Types.fst = { Types.fst =
    816828          (Blocks.add_dummy_variance
    817             (move_to_dp globals (Obj.magic lookup_arg dpl)
     829            (move_to_dp globals localss (Obj.magic lookup_arg dpl)
    818830              (Obj.magic lookup_arg dph))); Types.snd = (fun x0 -> Joint.CALL
    819831          ((Types.Inr { Types.fst = (Obj.magic Types.It); Types.snd =
     
    860872          Blocks.ensure_step_block (Joint.graph_params_to_params LTL.lTL)
    861873            globals
    862             (translate_address (Obj.magic globals) carry_lives_after
     874            (translate_address (Obj.magic globals) localss carry_lives_after
    863875              (Obj.magic lbl0) (Obj.magic lookup dpl) (Obj.magic lookup dph))
    864876        | Joint.OPACCS (op, dst1, dst2, arg1, arg2) ->
    865877          Blocks.ensure_step_block (Joint.graph_params_to_params LTL.lTL)
    866878            globals
    867             (translate_opaccs globals carry_lives_after op
     879            (translate_opaccs globals localss carry_lives_after op
    868880              (Obj.magic lookup dst1) (Obj.magic lookup dst2)
    869881              (Obj.magic lookup_arg arg1) (Obj.magic lookup_arg arg2))
     
    871883          Blocks.ensure_step_block (Joint.graph_params_to_params LTL.lTL)
    872884            globals
    873             (translate_op1 globals carry_lives_after op
     885            (translate_op1 globals localss carry_lives_after op
    874886              (Obj.magic lookup dst) (Obj.magic lookup arg))
    875887        | Joint.OP2 (op, dst, arg1, arg2) ->
    876888          Blocks.ensure_step_block (Joint.graph_params_to_params LTL.lTL)
    877889            globals
    878             (translate_op2_smart globals carry_lives_after op
     890            (translate_op2_smart globals localss carry_lives_after op
    879891              (Obj.magic lookup dst) (Obj.magic lookup_arg arg1)
    880892              (Obj.magic lookup_arg arg2))
     
    888900          Blocks.ensure_step_block (Joint.graph_params_to_params LTL.lTL)
    889901            globals
    890             (translate_load globals carry_lives_after (Obj.magic lookup dstr)
    891               (Obj.magic lookup_arg addr1) (Obj.magic lookup_arg addr2))
     902            (translate_load globals localss carry_lives_after
     903              (Obj.magic lookup dstr) (Obj.magic lookup_arg addr1)
     904              (Obj.magic lookup_arg addr2))
    892905        | Joint.STORE (addr1, addr2, srcr) ->
    893906          Blocks.ensure_step_block (Joint.graph_params_to_params LTL.lTL)
    894907            globals
    895             (translate_store globals carry_lives_after
     908            (translate_store globals localss carry_lives_after
    896909              (Obj.magic lookup_arg addr1) (Obj.magic lookup_arg addr2)
    897910              (Obj.magic lookup_arg srcr))
     
    908921                    (Joint.byte_of_nat stack_sz)))
    909922             | ERTLptr.LOW_ADDRESS (r1, l) ->
    910                translate_low_address globals carry_lives_after (lookup r1) l
     923               translate_low_address globals localss carry_lives_after
     924                 (lookup r1) l
    911925             | ERTLptr.HIGH_ADDRESS (r1, l) ->
    912                translate_high_address globals carry_lives_after (lookup r1) l))))
     926               translate_high_address globals localss carry_lives_after
     927                 (lookup r1) l))))
    913928
    914929(** val translate_fin_step :
     
    939954  TranslateUtils.init_params = (Obj.magic Types.It);
    940955  TranslateUtils.init_stack_size = stack_sz; TranslateUtils.added_prologue =
    941   List.Nil; TranslateUtils.f_step =
    942   (translate_step globals after coloured_graph stack_sz);
    943   TranslateUtils.f_fin = (translate_fin_step globals) }
    944 
    945 (** val first_free_stack_addr : LTL.ltl_program -> Nat.nat **)
    946 let first_free_stack_addr p =
    947   let globals_addr_internal = fun offset x_size ->
    948     let { Types.fst = eta4401; Types.snd = size } = x_size in
    949     let { Types.fst = x; Types.snd = region } = eta4401 in
    950     Nat.plus offset size
    951   in
    952   Util.foldl globals_addr_internal Nat.O p.AST.prog_vars
     956  List.Nil; TranslateUtils.new_regs = List.Nil; TranslateUtils.f_step =
     957  (translate_step globals (Types.pi1 int_fun).Joint.joint_if_local_stacksize
     958    after coloured_graph stack_sz); TranslateUtils.f_fin =
     959  (translate_fin_step globals) }
    953960
    954961(** val ertlptr_to_ltl :
     
    959966  let ltlprog =
    960967    TranslateUtils.b_graph_transform_program ERTLptr.eRTLptr LTL.lTL
    961       (translate_data the_fixpoint build) pr
     968      (fun globals h -> translate_data the_fixpoint build globals h) pr
    962969  in
    963970  { Types.fst = { Types.fst = ltlprog; Types.snd =
     
    967974    (Exp.exp (Nat.S (Nat.S Nat.O)) (Nat.S (Nat.S (Nat.S (Nat.S (Nat.S (Nat.S
    968975      (Nat.S (Nat.S (Nat.S (Nat.S (Nat.S (Nat.S (Nat.S (Nat.S (Nat.S (Nat.S
    969       Nat.O))))))))))))))))) (first_free_stack_addr ltlprog)) }
    970 
     976      Nat.O)))))))))))))))))
     977    (Joint.globals_stacksize (Joint.graph_params_to_params LTL.lTL) ltlprog)) }
     978
  • extracted/eRTLptrToLTL.mli

    r2775 r2827  
    236236
    237237val get_stack :
    238   AST.ident List.list -> I8051.register -> Nat.nat -> Joint.joint_seq
     238  AST.ident List.list -> Nat.nat -> I8051.register -> Nat.nat ->
     239  Joint.joint_seq List.list
     240
     241val set_stack_not_a :
     242  AST.ident List.list -> Nat.nat -> Nat.nat -> I8051.register ->
     243  Joint.joint_seq List.list
     244
     245val set_stack_a :
     246  AST.ident List.list -> Nat.nat -> Nat.nat -> Joint.joint_seq List.list
     247
     248val set_stack :
     249  AST.ident List.list -> Nat.nat -> Nat.nat -> I8051.register ->
     250  Joint.joint_seq List.list
     251
     252val set_stack_int :
     253  AST.ident List.list -> Nat.nat -> Nat.nat -> BitVector.byte ->
     254  Joint.joint_seq List.list
     255
     256val move :
     257  AST.ident List.list -> Nat.nat -> Bool.bool -> Interference.decision ->
     258  arg_decision -> Joint.joint_seq List.list
     259
     260val arg_is_spilled : arg_decision -> Bool.bool
     261
     262val is_spilled : Interference.decision -> Bool.bool
     263
     264val newframe : AST.ident List.list -> Nat.nat -> Joint.joint_seq List.list
     265
     266val delframe : AST.ident List.list -> Nat.nat -> Joint.joint_seq List.list
     267
     268val commutative : BackEndOps.op2 -> Bool.bool
     269
     270val uses_carry : BackEndOps.op2 -> Bool.bool
     271
     272val sets_carry : BackEndOps.op2 -> Bool.bool
     273
     274val translate_op2 :
     275  AST.ident List.list -> Nat.nat -> Bool.bool -> BackEndOps.op2 ->
     276  Interference.decision -> arg_decision -> arg_decision -> Joint.joint_seq
    239277  List.list
    240278
    241 val set_stack_not_a :
    242   AST.ident List.list -> Nat.nat -> I8051.register -> Joint.joint_seq
     279val translate_op2_smart :
     280  AST.ident List.list -> Nat.nat -> Bool.bool -> BackEndOps.op2 ->
     281  Interference.decision -> arg_decision -> arg_decision -> Joint.joint_seq
    243282  List.list
    244 
    245 val set_stack_a : AST.ident List.list -> Nat.nat -> Joint.joint_seq List.list
    246 
    247 val set_stack :
    248   AST.ident List.list -> Nat.nat -> I8051.register -> Joint.joint_seq
    249   List.list
    250 
    251 val set_stack_int :
    252   AST.ident List.list -> Nat.nat -> BitVector.byte -> Joint.joint_seq
    253   List.list
    254 
    255 val move :
    256   AST.ident List.list -> Bool.bool -> Interference.decision -> arg_decision
    257   -> Joint.joint_seq List.list
    258 
    259 val arg_is_spilled : arg_decision -> Bool.bool
    260 
    261 val is_spilled : Interference.decision -> Bool.bool
    262 
    263 val newframe : AST.ident List.list -> Nat.nat -> Joint.joint_seq List.list
    264 
    265 val delframe : AST.ident List.list -> Nat.nat -> Joint.joint_seq List.list
    266 
    267 val commutative : BackEndOps.op2 -> Bool.bool
    268 
    269 val uses_carry : BackEndOps.op2 -> Bool.bool
    270 
    271 val sets_carry : BackEndOps.op2 -> Bool.bool
    272 
    273 val translate_op2 :
    274   AST.ident List.list -> Bool.bool -> BackEndOps.op2 -> Interference.decision
    275   -> arg_decision -> arg_decision -> Joint.joint_seq List.list
    276 
    277 val translate_op2_smart :
    278   AST.ident List.list -> Bool.bool -> BackEndOps.op2 -> Interference.decision
    279   -> arg_decision -> arg_decision -> Joint.joint_seq List.list
    280283
    281284val dec_to_arg_dec : Interference.decision -> arg_decision
     
    312315
    313316val translate_op1 :
    314   AST.ident List.list -> Bool.bool -> BackEndOps.op1 -> Interference.decision
    315   -> Interference.decision -> Joint.joint_seq List.list
     317  AST.ident List.list -> Nat.nat -> Bool.bool -> BackEndOps.op1 ->
     318  Interference.decision -> Interference.decision -> Joint.joint_seq List.list
    316319
    317320val translate_opaccs :
    318   AST.ident List.list -> Bool.bool -> BackEndOps.opAccs ->
     321  AST.ident List.list -> Nat.nat -> Bool.bool -> BackEndOps.opAccs ->
    319322  Interference.decision -> Interference.decision -> arg_decision ->
    320323  arg_decision -> Joint.joint_seq List.list
    321324
    322325val move_to_dp :
    323   AST.ident List.list -> arg_decision -> arg_decision -> Joint.joint_seq
    324   List.list
     326  AST.ident List.list -> Nat.nat -> arg_decision -> arg_decision ->
     327  Joint.joint_seq List.list
    325328
    326329val translate_store :
    327   AST.ident List.list -> Bool.bool -> arg_decision -> arg_decision ->
    328   arg_decision -> Joint.joint_seq List.list
     330  AST.ident List.list -> Nat.nat -> Bool.bool -> arg_decision -> arg_decision
     331  -> arg_decision -> Joint.joint_seq List.list
    329332
    330333val translate_load :
    331   AST.ident List.list -> Bool.bool -> Interference.decision -> arg_decision
    332   -> arg_decision -> Joint.joint_seq List.list
     334  AST.ident List.list -> Nat.nat -> Bool.bool -> Interference.decision ->
     335  arg_decision -> arg_decision -> Joint.joint_seq List.list
    333336
    334337val translate_address :
    335   __ List.list -> Bool.bool -> __ -> Interference.decision ->
     338  __ List.list -> Nat.nat -> Bool.bool -> __ -> Interference.decision ->
    336339  Interference.decision -> Joint.joint_seq List.list
    337340
    338341val translate_low_address :
    339   AST.ident List.list -> Bool.bool -> Interference.decision -> Graphs.label
    340   -> Joint.joint_seq List.list
     342  AST.ident List.list -> Nat.nat -> Bool.bool -> Interference.decision ->
     343  Graphs.label -> Joint.joint_seq List.list
    341344
    342345val translate_high_address :
    343   AST.ident List.list -> Bool.bool -> Interference.decision -> Graphs.label
    344   -> Joint.joint_seq List.list
     346  AST.ident List.list -> Nat.nat -> Bool.bool -> Interference.decision ->
     347  Graphs.label -> Joint.joint_seq List.list
    345348
    346349val translate_step :
    347   AST.ident List.list -> Fixpoints.valuation -> Interference.coloured_graph
    348   -> Nat.nat -> Graphs.label -> Joint.joint_step -> Blocks.bind_step_block
     350  AST.ident List.list -> Nat.nat -> Fixpoints.valuation ->
     351  Interference.coloured_graph -> Nat.nat -> Graphs.label -> Joint.joint_step
     352  -> Blocks.bind_step_block
    349353
    350354val translate_fin_step :
     
    358362  Bind_new.bind_new
    359363
    360 val first_free_stack_addr : LTL.ltl_program -> Nat.nat
    361 
    362364val ertlptr_to_ltl :
    363365  Fixpoints.fixpoint_computer -> Interference.coloured_graph_computer ->
  • extracted/errorMessages.ml

    r2797 r2827  
    7575| RepeatedCostLabel
    7676| NotTerminated
     77| RepeatedCostLabel0
     78| FramesEmptyOnPop
     79| BlockInFramesCorrupted
     80| FrameErrorOnPush
     81| FrameErrorOnPop
     82| FunctionNotFound
    7783
    78 (** val errorMessage_rect_Type4 :
    79     'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1
    80     -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 ->
    81     'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1
    82     -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 ->
    83     'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1
    84     -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 ->
    85     'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> errorMessage -> 'a1 **)
    86 let rec errorMessage_rect_Type4 h_MISSING h_EXTERNAL h_AssemblyTooLarge h_Jump_expansion_failed h_ValueIsNotABoolean h_BadCast h_BadlyTypedTerm h_UnknownIdentifier h_BadLvalueTerm h_FailedLoad h_FailedOp h_WrongNumberOfParameters h_FailedStore h_NonsenseState h_ReturnMismatch h_UnknownLabel h_BadFunctionValue h_MainMissing h_UnknownField h_UndeclaredIdentifier h_BadlyTypedAccess h_BadLvalue h_MissingField h_FIXME h_MissingLabel h_ParamGlobalMixup h_DuplicateLabel h_TypeMismatch h_UnknownLocal h_FailedConstant h_BadState h_StoppedMidIO h_UnsupportedOp h_CorruptedPointer h_NotATwoBytesPointer h_ValueNotABoolean h_NotAnInt32Val h_WrongLength h_InitDataStoreFailed h_DuplicateVariable h_MissingId h_IllTypedEvent h_InternalStackFull h_InternalStackEmpty h_BadProgramCounter h_ProgramCounterOutOfCode h_PointNotFound h_LabelNotFound h_MissingSymbol h_BadFunction h_SuccessorNotProvided h_BadPointer h_NoSuccessor h_MissingStackSize h_ExternalMain h_BadRegister h_BadMain h_MissingRegister h_MissingStatement h_BadJumpTable h_BadJumpValue h_FinalState h_EmptyStack h_OutOfBounds h_UnexpectedIO h_TerminatedEarly h_BadCostLabelling h_RepeatedCostLabel h_NotTerminated = function
    87 | MISSING -> h_MISSING
    88 | EXTERNAL -> h_EXTERNAL
    89 | AssemblyTooLarge -> h_AssemblyTooLarge
    90 | Jump_expansion_failed -> h_Jump_expansion_failed
    91 | ValueIsNotABoolean -> h_ValueIsNotABoolean
    92 | BadCast -> h_BadCast
    93 | BadlyTypedTerm -> h_BadlyTypedTerm
    94 | UnknownIdentifier -> h_UnknownIdentifier
    95 | BadLvalueTerm -> h_BadLvalueTerm
    96 | FailedLoad -> h_FailedLoad
    97 | FailedOp -> h_FailedOp
    98 | WrongNumberOfParameters -> h_WrongNumberOfParameters
    99 | FailedStore -> h_FailedStore
    100 | NonsenseState -> h_NonsenseState
    101 | ReturnMismatch -> h_ReturnMismatch
    102 | UnknownLabel -> h_UnknownLabel
    103 | BadFunctionValue -> h_BadFunctionValue
    104 | MainMissing -> h_MainMissing
    105 | UnknownField -> h_UnknownField
    106 | UndeclaredIdentifier -> h_UndeclaredIdentifier
    107 | BadlyTypedAccess -> h_BadlyTypedAccess
    108 | BadLvalue -> h_BadLvalue
    109 | MissingField -> h_MissingField
    110 | FIXME -> h_FIXME
    111 | MissingLabel -> h_MissingLabel
    112 | ParamGlobalMixup -> h_ParamGlobalMixup
    113 | DuplicateLabel -> h_DuplicateLabel
    114 | TypeMismatch -> h_TypeMismatch
    115 | UnknownLocal -> h_UnknownLocal
    116 | FailedConstant -> h_FailedConstant
    117 | BadState -> h_BadState
    118 | StoppedMidIO -> h_StoppedMidIO
    119 | UnsupportedOp -> h_UnsupportedOp
    120 | CorruptedPointer -> h_CorruptedPointer
    121 | NotATwoBytesPointer -> h_NotATwoBytesPointer
    122 | ValueNotABoolean -> h_ValueNotABoolean
    123 | NotAnInt32Val -> h_NotAnInt32Val
    124 | WrongLength -> h_WrongLength
    125 | InitDataStoreFailed -> h_InitDataStoreFailed
    126 | DuplicateVariable -> h_DuplicateVariable
    127 | MissingId -> h_MissingId
    128 | IllTypedEvent -> h_IllTypedEvent
    129 | InternalStackFull -> h_InternalStackFull
    130 | InternalStackEmpty -> h_InternalStackEmpty
    131 | BadProgramCounter -> h_BadProgramCounter
    132 | ProgramCounterOutOfCode -> h_ProgramCounterOutOfCode
    133 | PointNotFound -> h_PointNotFound
    134 | LabelNotFound -> h_LabelNotFound
    135 | MissingSymbol -> h_MissingSymbol
    136 | BadFunction -> h_BadFunction
    137 | SuccessorNotProvided -> h_SuccessorNotProvided
    138 | BadPointer -> h_BadPointer
    139 | NoSuccessor -> h_NoSuccessor
    140 | MissingStackSize -> h_MissingStackSize
    141 | ExternalMain -> h_ExternalMain
    142 | BadRegister -> h_BadRegister
    143 | BadMain -> h_BadMain
    144 | MissingRegister -> h_MissingRegister
    145 | MissingStatement -> h_MissingStatement
    146 | BadJumpTable -> h_BadJumpTable
    147 | BadJumpValue -> h_BadJumpValue
    148 | FinalState -> h_FinalState
    149 | EmptyStack -> h_EmptyStack
    150 | OutOfBounds -> h_OutOfBounds
    151 | UnexpectedIO -> h_UnexpectedIO
    152 | TerminatedEarly -> h_TerminatedEarly
    153 | BadCostLabelling -> h_BadCostLabelling
    154 | RepeatedCostLabel -> h_RepeatedCostLabel
    155 | NotTerminated -> h_NotTerminated
    156 
    157 (** val errorMessage_rect_Type5 :
    158     'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1
    159     -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 ->
    160     'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1
    161     -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 ->
    162     'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1
    163     -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 ->
    164     'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> errorMessage -> 'a1 **)
    165 let rec errorMessage_rect_Type5 h_MISSING h_EXTERNAL h_AssemblyTooLarge h_Jump_expansion_failed h_ValueIsNotABoolean h_BadCast h_BadlyTypedTerm h_UnknownIdentifier h_BadLvalueTerm h_FailedLoad h_FailedOp h_WrongNumberOfParameters h_FailedStore h_NonsenseState h_ReturnMismatch h_UnknownLabel h_BadFunctionValue h_MainMissing h_UnknownField h_UndeclaredIdentifier h_BadlyTypedAccess h_BadLvalue h_MissingField h_FIXME h_MissingLabel h_ParamGlobalMixup h_DuplicateLabel h_TypeMismatch h_UnknownLocal h_FailedConstant h_BadState h_StoppedMidIO h_UnsupportedOp h_CorruptedPointer h_NotATwoBytesPointer h_ValueNotABoolean h_NotAnInt32Val h_WrongLength h_InitDataStoreFailed h_DuplicateVariable h_MissingId h_IllTypedEvent h_InternalStackFull h_InternalStackEmpty h_BadProgramCounter h_ProgramCounterOutOfCode h_PointNotFound h_LabelNotFound h_MissingSymbol h_BadFunction h_SuccessorNotProvided h_BadPointer h_NoSuccessor h_MissingStackSize h_ExternalMain h_BadRegister h_BadMain h_MissingRegister h_MissingStatement h_BadJumpTable h_BadJumpValue h_FinalState h_EmptyStack h_OutOfBounds h_UnexpectedIO h_TerminatedEarly h_BadCostLabelling h_RepeatedCostLabel h_NotTerminated = function
    166 | MISSING -> h_MISSING
    167 | EXTERNAL -> h_EXTERNAL
    168 | AssemblyTooLarge -> h_AssemblyTooLarge
    169 | Jump_expansion_failed -> h_Jump_expansion_failed
    170 | ValueIsNotABoolean -> h_ValueIsNotABoolean
    171 | BadCast -> h_BadCast
    172 | BadlyTypedTerm -> h_BadlyTypedTerm
    173 | UnknownIdentifier -> h_UnknownIdentifier
    174 | BadLvalueTerm -> h_BadLvalueTerm
    175 | FailedLoad -> h_FailedLoad
    176 | FailedOp -> h_FailedOp
    177 | WrongNumberOfParameters -> h_WrongNumberOfParameters
    178 | FailedStore -> h_FailedStore
    179 | NonsenseState -> h_NonsenseState
    180 | ReturnMismatch -> h_ReturnMismatch
    181 | UnknownLabel -> h_UnknownLabel
    182 | BadFunctionValue -> h_BadFunctionValue
    183 | MainMissing -> h_MainMissing
    184 | UnknownField -> h_UnknownField
    185 | UndeclaredIdentifier -> h_UndeclaredIdentifier
    186 | BadlyTypedAccess -> h_BadlyTypedAccess
    187 | BadLvalue -> h_BadLvalue
    188 | MissingField -> h_MissingField
    189 | FIXME -> h_FIXME
    190 | MissingLabel -> h_MissingLabel
    191 | ParamGlobalMixup -> h_ParamGlobalMixup
    192 | DuplicateLabel -> h_DuplicateLabel
    193 | TypeMismatch -> h_TypeMismatch
    194 | UnknownLocal -> h_UnknownLocal
    195 | FailedConstant -> h_FailedConstant
    196 | BadState -> h_BadState
    197 | StoppedMidIO -> h_StoppedMidIO
    198 | UnsupportedOp -> h_UnsupportedOp
    199 | CorruptedPointer -> h_CorruptedPointer
    200 | NotATwoBytesPointer -> h_NotATwoBytesPointer
    201 | ValueNotABoolean -> h_ValueNotABoolean
    202 | NotAnInt32Val -> h_NotAnInt32Val
    203 | WrongLength -> h_WrongLength
    204 | InitDataStoreFailed -> h_InitDataStoreFailed
    205 | DuplicateVariable -> h_DuplicateVariable
    206 | MissingId -> h_MissingId
    207 | IllTypedEvent -> h_IllTypedEvent
    208 | InternalStackFull -> h_InternalStackFull
    209 | InternalStackEmpty -> h_InternalStackEmpty
    210 | BadProgramCounter -> h_BadProgramCounter
    211 | ProgramCounterOutOfCode -> h_ProgramCounterOutOfCode
    212 | PointNotFound -> h_PointNotFound
    213 | LabelNotFound -> h_LabelNotFound
    214 | MissingSymbol -> h_MissingSymbol
    215 | BadFunction -> h_BadFunction
    216 | SuccessorNotProvided -> h_SuccessorNotProvided
    217 | BadPointer -> h_BadPointer
    218 | NoSuccessor -> h_NoSuccessor
    219 | MissingStackSize -> h_MissingStackSize
    220 | ExternalMain -> h_ExternalMain
    221 | BadRegister -> h_BadRegister
    222 | BadMain -> h_BadMain
    223 | MissingRegister -> h_MissingRegister
    224 | MissingStatement -> h_MissingStatement
    225 | BadJumpTable -> h_BadJumpTable
    226 | BadJumpValue -> h_BadJumpValue
    227 | FinalState -> h_FinalState
    228 | EmptyStack -> h_EmptyStack
    229 | OutOfBounds -> h_OutOfBounds
    230 | UnexpectedIO -> h_UnexpectedIO
    231 | TerminatedEarly -> h_TerminatedEarly
    232 | BadCostLabelling -> h_BadCostLabelling
    233 | RepeatedCostLabel -> h_RepeatedCostLabel
    234 | NotTerminated -> h_NotTerminated
    235 
    236 (** val errorMessage_rect_Type3 :
    237     'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1
    238     -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 ->
    239     'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1
    240     -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 ->
    241     'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1
    242     -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 ->
    243     'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> errorMessage -> 'a1 **)
    244 let rec errorMessage_rect_Type3 h_MISSING h_EXTERNAL h_AssemblyTooLarge h_Jump_expansion_failed h_ValueIsNotABoolean h_BadCast h_BadlyTypedTerm h_UnknownIdentifier h_BadLvalueTerm h_FailedLoad h_FailedOp h_WrongNumberOfParameters h_FailedStore h_NonsenseState h_ReturnMismatch h_UnknownLabel h_BadFunctionValue h_MainMissing h_UnknownField h_UndeclaredIdentifier h_BadlyTypedAccess h_BadLvalue h_MissingField h_FIXME h_MissingLabel h_ParamGlobalMixup h_DuplicateLabel h_TypeMismatch h_UnknownLocal h_FailedConstant h_BadState h_StoppedMidIO h_UnsupportedOp h_CorruptedPointer h_NotATwoBytesPointer h_ValueNotABoolean h_NotAnInt32Val h_WrongLength h_InitDataStoreFailed h_DuplicateVariable h_MissingId h_IllTypedEvent h_InternalStackFull h_InternalStackEmpty h_BadProgramCounter h_ProgramCounterOutOfCode h_PointNotFound h_LabelNotFound h_MissingSymbol h_BadFunction h_SuccessorNotProvided h_BadPointer h_NoSuccessor h_MissingStackSize h_ExternalMain h_BadRegister h_BadMain h_MissingRegister h_MissingStatement h_BadJumpTable h_BadJumpValue h_FinalState h_EmptyStack h_OutOfBounds h_UnexpectedIO h_TerminatedEarly h_BadCostLabelling h_RepeatedCostLabel h_NotTerminated = function
    245 | MISSING -> h_MISSING
    246 | EXTERNAL -> h_EXTERNAL
    247 | AssemblyTooLarge -> h_AssemblyTooLarge
    248 | Jump_expansion_failed -> h_Jump_expansion_failed
    249 | ValueIsNotABoolean -> h_ValueIsNotABoolean
    250 | BadCast -> h_BadCast
    251 | BadlyTypedTerm -> h_BadlyTypedTerm
    252 | UnknownIdentifier -> h_UnknownIdentifier
    253 | BadLvalueTerm -> h_BadLvalueTerm
    254 | FailedLoad -> h_FailedLoad
    255 | FailedOp -> h_FailedOp
    256 | WrongNumberOfParameters -> h_WrongNumberOfParameters
    257 | FailedStore -> h_FailedStore
    258 | NonsenseState -> h_NonsenseState
    259 | ReturnMismatch -> h_ReturnMismatch
    260 | UnknownLabel -> h_UnknownLabel
    261 | BadFunctionValue -> h_BadFunctionValue
    262 | MainMissing -> h_MainMissing
    263 | UnknownField -> h_UnknownField
    264 | UndeclaredIdentifier -> h_UndeclaredIdentifier
    265 | BadlyTypedAccess -> h_BadlyTypedAccess
    266 | BadLvalue -> h_BadLvalue
    267 | MissingField -> h_MissingField
    268 | FIXME -> h_FIXME
    269 | MissingLabel -> h_MissingLabel
    270 | ParamGlobalMixup -> h_ParamGlobalMixup
    271 | DuplicateLabel -> h_DuplicateLabel
    272 | TypeMismatch -> h_TypeMismatch
    273 | UnknownLocal -> h_UnknownLocal
    274 | FailedConstant -> h_FailedConstant
    275 | BadState -> h_BadState
    276 | StoppedMidIO -> h_StoppedMidIO
    277 | UnsupportedOp -> h_UnsupportedOp
    278 | CorruptedPointer -> h_CorruptedPointer
    279 | NotATwoBytesPointer -> h_NotATwoBytesPointer
    280 | ValueNotABoolean -> h_ValueNotABoolean
    281 | NotAnInt32Val -> h_NotAnInt32Val
    282 | WrongLength -> h_WrongLength
    283 | InitDataStoreFailed -> h_InitDataStoreFailed
    284 | DuplicateVariable -> h_DuplicateVariable
    285 | MissingId -> h_MissingId
    286 | IllTypedEvent -> h_IllTypedEvent
    287 | InternalStackFull -> h_InternalStackFull
    288 | InternalStackEmpty -> h_InternalStackEmpty
    289 | BadProgramCounter -> h_BadProgramCounter
    290 | ProgramCounterOutOfCode -> h_ProgramCounterOutOfCode
    291 | PointNotFound -> h_PointNotFound
    292 | LabelNotFound -> h_LabelNotFound
    293 | MissingSymbol -> h_MissingSymbol
    294 | BadFunction -> h_BadFunction
    295 | SuccessorNotProvided -> h_SuccessorNotProvided
    296 | BadPointer -> h_BadPointer
    297 | NoSuccessor -> h_NoSuccessor
    298 | MissingStackSize -> h_MissingStackSize
    299 | ExternalMain -> h_ExternalMain
    300 | BadRegister -> h_BadRegister
    301 | BadMain -> h_BadMain
    302 | MissingRegister -> h_MissingRegister
    303 | MissingStatement -> h_MissingStatement
    304 | BadJumpTable -> h_BadJumpTable
    305 | BadJumpValue -> h_BadJumpValue
    306 | FinalState -> h_FinalState
    307 | EmptyStack -> h_EmptyStack
    308 | OutOfBounds -> h_OutOfBounds
    309 | UnexpectedIO -> h_UnexpectedIO
    310 | TerminatedEarly -> h_TerminatedEarly
    311 | BadCostLabelling -> h_BadCostLabelling
    312 | RepeatedCostLabel -> h_RepeatedCostLabel
    313 | NotTerminated -> h_NotTerminated
    314 
    315 (** val errorMessage_rect_Type2 :
    316     'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1
    317     -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 ->
    318     'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1
    319     -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 ->
    320     'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1
    321     -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 ->
    322     'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> errorMessage -> 'a1 **)
    323 let rec errorMessage_rect_Type2 h_MISSING h_EXTERNAL h_AssemblyTooLarge h_Jump_expansion_failed h_ValueIsNotABoolean h_BadCast h_BadlyTypedTerm h_UnknownIdentifier h_BadLvalueTerm h_FailedLoad h_FailedOp h_WrongNumberOfParameters h_FailedStore h_NonsenseState h_ReturnMismatch h_UnknownLabel h_BadFunctionValue h_MainMissing h_UnknownField h_UndeclaredIdentifier h_BadlyTypedAccess h_BadLvalue h_MissingField h_FIXME h_MissingLabel h_ParamGlobalMixup h_DuplicateLabel h_TypeMismatch h_UnknownLocal h_FailedConstant h_BadState h_StoppedMidIO h_UnsupportedOp h_CorruptedPointer h_NotATwoBytesPointer h_ValueNotABoolean h_NotAnInt32Val h_WrongLength h_InitDataStoreFailed h_DuplicateVariable h_MissingId h_IllTypedEvent h_InternalStackFull h_InternalStackEmpty h_BadProgramCounter h_ProgramCounterOutOfCode h_PointNotFound h_LabelNotFound h_MissingSymbol h_BadFunction h_SuccessorNotProvided h_BadPointer h_NoSuccessor h_MissingStackSize h_ExternalMain h_BadRegister h_BadMain h_MissingRegister h_MissingStatement h_BadJumpTable h_BadJumpValue h_FinalState h_EmptyStack h_OutOfBounds h_UnexpectedIO h_TerminatedEarly h_BadCostLabelling h_RepeatedCostLabel h_NotTerminated = function
    324 | MISSING -> h_MISSING
    325 | EXTERNAL -> h_EXTERNAL
    326 | AssemblyTooLarge -> h_AssemblyTooLarge
    327 | Jump_expansion_failed -> h_Jump_expansion_failed
    328 | ValueIsNotABoolean -> h_ValueIsNotABoolean
    329 | BadCast -> h_BadCast
    330 | BadlyTypedTerm -> h_BadlyTypedTerm
    331 | UnknownIdentifier -> h_UnknownIdentifier
    332 | BadLvalueTerm -> h_BadLvalueTerm
    333 | FailedLoad -> h_FailedLoad
    334 | FailedOp -> h_FailedOp
    335 | WrongNumberOfParameters -> h_WrongNumberOfParameters
    336 | FailedStore -> h_FailedStore
    337 | NonsenseState -> h_NonsenseState
    338 | ReturnMismatch -> h_ReturnMismatch
    339 | UnknownLabel -> h_UnknownLabel
    340 | BadFunctionValue -> h_BadFunctionValue
    341 | MainMissing -> h_MainMissing
    342 | UnknownField -> h_UnknownField
    343 | UndeclaredIdentifier -> h_UndeclaredIdentifier
    344 | BadlyTypedAccess -> h_BadlyTypedAccess
    345 | BadLvalue -> h_BadLvalue
    346 | MissingField -> h_MissingField
    347 | FIXME -> h_FIXME
    348 | MissingLabel -> h_MissingLabel
    349 | ParamGlobalMixup -> h_ParamGlobalMixup
    350 | DuplicateLabel -> h_DuplicateLabel
    351 | TypeMismatch -> h_TypeMismatch
    352 | UnknownLocal -> h_UnknownLocal
    353 | FailedConstant -> h_FailedConstant
    354 | BadState -> h_BadState
    355 | StoppedMidIO -> h_StoppedMidIO
    356 | UnsupportedOp -> h_UnsupportedOp
    357 | CorruptedPointer -> h_CorruptedPointer
    358 | NotATwoBytesPointer -> h_NotATwoBytesPointer
    359 | ValueNotABoolean -> h_ValueNotABoolean
    360 | NotAnInt32Val -> h_NotAnInt32Val
    361 | WrongLength -> h_WrongLength
    362 | InitDataStoreFailed -> h_InitDataStoreFailed
    363 | DuplicateVariable -> h_DuplicateVariable
    364 | MissingId -> h_MissingId
    365 | IllTypedEvent -> h_IllTypedEvent
    366 | InternalStackFull -> h_InternalStackFull
    367 | InternalStackEmpty -> h_InternalStackEmpty
    368 | BadProgramCounter -> h_BadProgramCounter
    369 | ProgramCounterOutOfCode -> h_ProgramCounterOutOfCode
    370 | PointNotFound -> h_PointNotFound
    371 | LabelNotFound -> h_LabelNotFound
    372 | MissingSymbol -> h_MissingSymbol
    373 | BadFunction -> h_BadFunction
    374 | SuccessorNotProvided -> h_SuccessorNotProvided
    375 | BadPointer -> h_BadPointer
    376 | NoSuccessor -> h_NoSuccessor
    377 | MissingStackSize -> h_MissingStackSize
    378 | ExternalMain -> h_ExternalMain
    379 | BadRegister -> h_BadRegister
    380 | BadMain -> h_BadMain
    381 | MissingRegister -> h_MissingRegister
    382 | MissingStatement -> h_MissingStatement
    383 | BadJumpTable -> h_BadJumpTable
    384 | BadJumpValue -> h_BadJumpValue
    385 | FinalState -> h_FinalState
    386 | EmptyStack -> h_EmptyStack
    387 | OutOfBounds -> h_OutOfBounds
    388 | UnexpectedIO -> h_UnexpectedIO
    389 | TerminatedEarly -> h_TerminatedEarly
    390 | BadCostLabelling -> h_BadCostLabelling
    391 | RepeatedCostLabel -> h_RepeatedCostLabel
    392 | NotTerminated -> h_NotTerminated
    393 
    394 (** val errorMessage_rect_Type1 :
    395     'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1
    396     -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 ->
    397     'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1
    398     -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 ->
    399     'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1
    400     -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 ->
    401     'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> errorMessage -> 'a1 **)
    402 let rec errorMessage_rect_Type1 h_MISSING h_EXTERNAL h_AssemblyTooLarge h_Jump_expansion_failed h_ValueIsNotABoolean h_BadCast h_BadlyTypedTerm h_UnknownIdentifier h_BadLvalueTerm h_FailedLoad h_FailedOp h_WrongNumberOfParameters h_FailedStore h_NonsenseState h_ReturnMismatch h_UnknownLabel h_BadFunctionValue h_MainMissing h_UnknownField h_UndeclaredIdentifier h_BadlyTypedAccess h_BadLvalue h_MissingField h_FIXME h_MissingLabel h_ParamGlobalMixup h_DuplicateLabel h_TypeMismatch h_UnknownLocal h_FailedConstant h_BadState h_StoppedMidIO h_UnsupportedOp h_CorruptedPointer h_NotATwoBytesPointer h_ValueNotABoolean h_NotAnInt32Val h_WrongLength h_InitDataStoreFailed h_DuplicateVariable h_MissingId h_IllTypedEvent h_InternalStackFull h_InternalStackEmpty h_BadProgramCounter h_ProgramCounterOutOfCode h_PointNotFound h_LabelNotFound h_MissingSymbol h_BadFunction h_SuccessorNotProvided h_BadPointer h_NoSuccessor h_MissingStackSize h_ExternalMain h_BadRegister h_BadMain h_MissingRegister h_MissingStatement h_BadJumpTable h_BadJumpValue h_FinalState h_EmptyStack h_OutOfBounds h_UnexpectedIO h_TerminatedEarly h_BadCostLabelling h_RepeatedCostLabel h_NotTerminated = function
    403 | MISSING -> h_MISSING
    404 | EXTERNAL -> h_EXTERNAL
    405 | AssemblyTooLarge -> h_AssemblyTooLarge
    406 | Jump_expansion_failed -> h_Jump_expansion_failed
    407 | ValueIsNotABoolean -> h_ValueIsNotABoolean
    408 | BadCast -> h_BadCast
    409 | BadlyTypedTerm -> h_BadlyTypedTerm
    410 | UnknownIdentifier -> h_UnknownIdentifier
    411 | BadLvalueTerm -> h_BadLvalueTerm
    412 | FailedLoad -> h_FailedLoad
    413 | FailedOp -> h_FailedOp
    414 | WrongNumberOfParameters -> h_WrongNumberOfParameters
    415 | FailedStore -> h_FailedStore
    416 | NonsenseState -> h_NonsenseState
    417 | ReturnMismatch -> h_ReturnMismatch
    418 | UnknownLabel -> h_UnknownLabel
    419 | BadFunctionValue -> h_BadFunctionValue
    420 | MainMissing -> h_MainMissing
    421 | UnknownField -> h_UnknownField
    422 | UndeclaredIdentifier -> h_UndeclaredIdentifier
    423 | BadlyTypedAccess -> h_BadlyTypedAccess
    424 | BadLvalue -> h_BadLvalue
    425 | MissingField -> h_MissingField
    426 | FIXME -> h_FIXME
    427 | MissingLabel -> h_MissingLabel
    428 | ParamGlobalMixup -> h_ParamGlobalMixup
    429 | DuplicateLabel -> h_DuplicateLabel
    430 | TypeMismatch -> h_TypeMismatch
    431 | UnknownLocal -> h_UnknownLocal
    432 | FailedConstant -> h_FailedConstant
    433 | BadState -> h_BadState
    434 | StoppedMidIO -> h_StoppedMidIO
    435 | UnsupportedOp -> h_UnsupportedOp
    436 | CorruptedPointer -> h_CorruptedPointer
    437 | NotATwoBytesPointer -> h_NotATwoBytesPointer
    438 | ValueNotABoolean -> h_ValueNotABoolean
    439 | NotAnInt32Val -> h_NotAnInt32Val
    440 | WrongLength -> h_WrongLength
    441 | InitDataStoreFailed -> h_InitDataStoreFailed
    442 | DuplicateVariable -> h_DuplicateVariable
    443 | MissingId -> h_MissingId
    444 | IllTypedEvent -> h_IllTypedEvent
    445 | InternalStackFull -> h_InternalStackFull
    446 | InternalStackEmpty -> h_InternalStackEmpty
    447 | BadProgramCounter -> h_BadProgramCounter
    448 | ProgramCounterOutOfCode -> h_ProgramCounterOutOfCode
    449 | PointNotFound -> h_PointNotFound
    450 | LabelNotFound -> h_LabelNotFound
    451 | MissingSymbol -> h_MissingSymbol
    452 | BadFunction -> h_BadFunction
    453 | SuccessorNotProvided -> h_SuccessorNotProvided
    454 | BadPointer -> h_BadPointer
    455 | NoSuccessor -> h_NoSuccessor
    456 | MissingStackSize -> h_MissingStackSize
    457 | ExternalMain -> h_ExternalMain
    458 | BadRegister -> h_BadRegister
    459 | BadMain -> h_BadMain
    460 | MissingRegister -> h_MissingRegister
    461 | MissingStatement -> h_MissingStatement
    462 | BadJumpTable -> h_BadJumpTable
    463 | BadJumpValue -> h_BadJumpValue
    464 | FinalState -> h_FinalState
    465 | EmptyStack -> h_EmptyStack
    466 | OutOfBounds -> h_OutOfBounds
    467 | UnexpectedIO -> h_UnexpectedIO
    468 | TerminatedEarly -> h_TerminatedEarly
    469 | BadCostLabelling -> h_BadCostLabelling
    470 | RepeatedCostLabel -> h_RepeatedCostLabel
    471 | NotTerminated -> h_NotTerminated
    472 
    473 (** val errorMessage_rect_Type0 :
    474     'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1
    475     -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 ->
    476     'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1
    477     -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 ->
    478     'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1
    479     -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 ->
    480     'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> errorMessage -> 'a1 **)
    481 let rec errorMessage_rect_Type0 h_MISSING h_EXTERNAL h_AssemblyTooLarge h_Jump_expansion_failed h_ValueIsNotABoolean h_BadCast h_BadlyTypedTerm h_UnknownIdentifier h_BadLvalueTerm h_FailedLoad h_FailedOp h_WrongNumberOfParameters h_FailedStore h_NonsenseState h_ReturnMismatch h_UnknownLabel h_BadFunctionValue h_MainMissing h_UnknownField h_UndeclaredIdentifier h_BadlyTypedAccess h_BadLvalue h_MissingField h_FIXME h_MissingLabel h_ParamGlobalMixup h_DuplicateLabel h_TypeMismatch h_UnknownLocal h_FailedConstant h_BadState h_StoppedMidIO h_UnsupportedOp h_CorruptedPointer h_NotATwoBytesPointer h_ValueNotABoolean h_NotAnInt32Val h_WrongLength h_InitDataStoreFailed h_DuplicateVariable h_MissingId h_IllTypedEvent h_InternalStackFull h_InternalStackEmpty h_BadProgramCounter h_ProgramCounterOutOfCode h_PointNotFound h_LabelNotFound h_MissingSymbol h_BadFunction h_SuccessorNotProvided h_BadPointer h_NoSuccessor h_MissingStackSize h_ExternalMain h_BadRegister h_BadMain h_MissingRegister h_MissingStatement h_BadJumpTable h_BadJumpValue h_FinalState h_EmptyStack h_OutOfBounds h_UnexpectedIO h_TerminatedEarly h_BadCostLabelling h_RepeatedCostLabel h_NotTerminated = function
    482 | MISSING -> h_MISSING
    483 | EXTERNAL -> h_EXTERNAL
    484 | AssemblyTooLarge -> h_AssemblyTooLarge
    485 | Jump_expansion_failed -> h_Jump_expansion_failed
    486 | ValueIsNotABoolean -> h_ValueIsNotABoolean
    487 | BadCast -> h_BadCast
    488 | BadlyTypedTerm -> h_BadlyTypedTerm
    489 | UnknownIdentifier -> h_UnknownIdentifier
    490 | BadLvalueTerm -> h_BadLvalueTerm
    491 | FailedLoad -> h_FailedLoad
    492 | FailedOp -> h_FailedOp
    493 | WrongNumberOfParameters -> h_WrongNumberOfParameters
    494 | FailedStore -> h_FailedStore
    495 | NonsenseState -> h_NonsenseState
    496 | ReturnMismatch -> h_ReturnMismatch
    497 | UnknownLabel -> h_UnknownLabel
    498 | BadFunctionValue -> h_BadFunctionValue
    499 | MainMissing -> h_MainMissing
    500 | UnknownField -> h_UnknownField
    501 | UndeclaredIdentifier -> h_UndeclaredIdentifier
    502 | BadlyTypedAccess -> h_BadlyTypedAccess
    503 | BadLvalue -> h_BadLvalue
    504 | MissingField -> h_MissingField
    505 | FIXME -> h_FIXME
    506 | MissingLabel -> h_MissingLabel
    507 | ParamGlobalMixup -> h_ParamGlobalMixup
    508 | DuplicateLabel -> h_DuplicateLabel
    509 | TypeMismatch -> h_TypeMismatch
    510 | UnknownLocal -> h_UnknownLocal
    511 | FailedConstant -> h_FailedConstant
    512 | BadState -> h_BadState
    513 | StoppedMidIO -> h_StoppedMidIO
    514 | UnsupportedOp -> h_UnsupportedOp
    515 | CorruptedPointer -> h_CorruptedPointer
    516 | NotATwoBytesPointer -> h_NotATwoBytesPointer
    517 | ValueNotABoolean -> h_ValueNotABoolean
    518 | NotAnInt32Val -> h_NotAnInt32Val
    519 | WrongLength -> h_WrongLength
    520 | InitDataStoreFailed -> h_InitDataStoreFailed
    521 | DuplicateVariable -> h_DuplicateVariable
    522 | MissingId -> h_MissingId
    523 | IllTypedEvent -> h_IllTypedEvent
    524 | InternalStackFull -> h_InternalStackFull
    525 | InternalStackEmpty -> h_InternalStackEmpty
    526 | BadProgramCounter -> h_BadProgramCounter
    527 | ProgramCounterOutOfCode -> h_ProgramCounterOutOfCode
    528 | PointNotFound -> h_PointNotFound
    529 | LabelNotFound -> h_LabelNotFound
    530 | MissingSymbol -> h_MissingSymbol
    531 | BadFunction -> h_BadFunction
    532 | SuccessorNotProvided -> h_SuccessorNotProvided
    533 | BadPointer -> h_BadPointer
    534 | NoSuccessor -> h_NoSuccessor
    535 | MissingStackSize -> h_MissingStackSize
    536 | ExternalMain -> h_ExternalMain
    537 | BadRegister -> h_BadRegister
    538 | BadMain -> h_BadMain
    539 | MissingRegister -> h_MissingRegister
    540 | MissingStatement -> h_MissingStatement
    541 | BadJumpTable -> h_BadJumpTable
    542 | BadJumpValue -> h_BadJumpValue
    543 | FinalState -> h_FinalState
    544 | EmptyStack -> h_EmptyStack
    545 | OutOfBounds -> h_OutOfBounds
    546 | UnexpectedIO -> h_UnexpectedIO
    547 | TerminatedEarly -> h_TerminatedEarly
    548 | BadCostLabelling -> h_BadCostLabelling
    549 | RepeatedCostLabel -> h_RepeatedCostLabel
    550 | NotTerminated -> h_NotTerminated
    551 
  • extracted/errorMessages.mli

    r2797 r2827  
    7575| RepeatedCostLabel
    7676| NotTerminated
     77| RepeatedCostLabel0
     78| FramesEmptyOnPop
     79| BlockInFramesCorrupted
     80| FrameErrorOnPush
     81| FrameErrorOnPop
     82| FunctionNotFound
    7783
    78 val errorMessage_rect_Type4 :
    79   'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1
    80   -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 ->
    81   'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1
    82   -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 ->
    83   'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1
    84   -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 ->
    85   'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> errorMessage -> 'a1
    86 
    87 val errorMessage_rect_Type5 :
    88   'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1
    89   -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 ->
    90   'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1
    91   -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 ->
    92   'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1
    93   -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 ->
    94   'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> errorMessage -> 'a1
    95 
    96 val errorMessage_rect_Type3 :
    97   'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1
    98   -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 ->
    99   'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1
    100   -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 ->
    101   'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1
    102   -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 ->
    103   'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> errorMessage -> 'a1
    104 
    105 val errorMessage_rect_Type2 :
    106   'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1
    107   -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 ->
    108   'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1
    109   -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 ->
    110   'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1
    111   -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 ->
    112   'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> errorMessage -> 'a1
    113 
    114 val errorMessage_rect_Type1 :
    115   'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1
    116   -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 ->
    117   'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1
    118   -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 ->
    119   'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1
    120   -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 ->
    121   'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> errorMessage -> 'a1
    122 
    123 val errorMessage_rect_Type0 :
    124   'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1
    125   -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 ->
    126   'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1
    127   -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 ->
    128   'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1
    129   -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 ->
    130   'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> errorMessage -> 'a1
    131 
  • extracted/errors.ml

    r2797 r2827  
    4343    PreIdentifiers.identifier -> 'a1) -> errcode -> 'a1 **)
    4444let rec errcode_rect_Type4 h_MSG h_CTX = function
    45 | MSG x_2983 -> h_MSG x_2983
    46 | CTX (tag, x_2984) -> h_CTX tag x_2984
     45| MSG x_3100 -> h_MSG x_3100
     46| CTX (tag, x_3101) -> h_CTX tag x_3101
    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_2988 -> h_MSG x_2988
    53 | CTX (tag, x_2989) -> h_CTX tag x_2989
     52| MSG x_3105 -> h_MSG x_3105
     53| CTX (tag, x_3106) -> h_CTX tag x_3106
    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_2993 -> h_MSG x_2993
    60 | CTX (tag, x_2994) -> h_CTX tag x_2994
     59| MSG x_3110 -> h_MSG x_3110
     60| CTX (tag, x_3111) -> h_CTX tag x_3111
    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_2998 -> h_MSG x_2998
    67 | CTX (tag, x_2999) -> h_CTX tag x_2999
     66| MSG x_3115 -> h_MSG x_3115
     67| CTX (tag, x_3116) -> h_CTX tag x_3116
    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_3003 -> h_MSG x_3003
    74 | CTX (tag, x_3004) -> h_CTX tag x_3004
     73| MSG x_3120 -> h_MSG x_3120
     74| CTX (tag, x_3121) -> h_CTX tag x_3121
    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_3008 -> h_MSG x_3008
    81 | CTX (tag, x_3009) -> h_CTX tag x_3009
     80| MSG x_3125 -> h_MSG x_3125
     81| CTX (tag, x_3126) -> h_CTX tag x_3126
    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_3048 -> h_OK x_3048
    146 | Error x_3049 -> h_Error x_3049
     145| OK x_3165 -> h_OK x_3165
     146| Error x_3166 -> h_Error x_3166
    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_3053 -> h_OK x_3053
    152 | Error x_3054 -> h_Error x_3054
     151| OK x_3170 -> h_OK x_3170
     152| Error x_3171 -> h_Error x_3171
    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_3058 -> h_OK x_3058
    158 | Error x_3059 -> h_Error x_3059
     157| OK x_3175 -> h_OK x_3175
     158| Error x_3176 -> h_Error x_3176
    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_3063 -> h_OK x_3063
    164 | Error x_3064 -> h_Error x_3064
     163| OK x_3180 -> h_OK x_3180
     164| Error x_3181 -> h_Error x_3181
    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_3068 -> h_OK x_3068
    170 | Error x_3069 -> h_Error x_3069
     169| OK x_3185 -> h_OK x_3185
     170| Error x_3186 -> h_Error x_3186
    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_3073 -> h_OK x_3073
    176 | Error x_3074 -> h_Error x_3074
     175| OK x_3190 -> h_OK x_3190
     176| Error x_3191 -> h_Error x_3191
    177177
    178178(** val res_inv_rect_Type4 :
  • extracted/events.ml

    r2797 r2827  
    8989    (AST.intsize -> AST.bvint -> 'a1) -> eventval -> 'a1 **)
    9090let rec eventval_rect_Type4 h_EVint = function
    91 | EVint (sz, x_5407) -> h_EVint sz x_5407
     91| EVint (sz, x_5524) -> h_EVint sz x_5524
    9292
    9393(** val eventval_rect_Type5 :
    9494    (AST.intsize -> AST.bvint -> 'a1) -> eventval -> 'a1 **)
    9595let rec eventval_rect_Type5 h_EVint = function
    96 | EVint (sz, x_5410) -> h_EVint sz x_5410
     96| EVint (sz, x_5527) -> h_EVint sz x_5527
    9797
    9898(** val eventval_rect_Type3 :
    9999    (AST.intsize -> AST.bvint -> 'a1) -> eventval -> 'a1 **)
    100100let rec eventval_rect_Type3 h_EVint = function
    101 | EVint (sz, x_5413) -> h_EVint sz x_5413
     101| EVint (sz, x_5530) -> h_EVint sz x_5530
    102102
    103103(** val eventval_rect_Type2 :
    104104    (AST.intsize -> AST.bvint -> 'a1) -> eventval -> 'a1 **)
    105105let rec eventval_rect_Type2 h_EVint = function
    106 | EVint (sz, x_5416) -> h_EVint sz x_5416
     106| EVint (sz, x_5533) -> h_EVint sz x_5533
    107107
    108108(** val eventval_rect_Type1 :
    109109    (AST.intsize -> AST.bvint -> 'a1) -> eventval -> 'a1 **)
    110110let rec eventval_rect_Type1 h_EVint = function
    111 | EVint (sz, x_5419) -> h_EVint sz x_5419
     111| EVint (sz, x_5536) -> h_EVint sz x_5536
    112112
    113113(** val eventval_rect_Type0 :
    114114    (AST.intsize -> AST.bvint -> 'a1) -> eventval -> 'a1 **)
    115115let rec eventval_rect_Type0 h_EVint = function
    116 | EVint (sz, x_5422) -> h_EVint sz x_5422
     116| EVint (sz, x_5539) -> h_EVint sz x_5539
    117117
    118118(** val eventval_inv_rect_Type4 :
     
    159159    eventval -> 'a1) -> event -> 'a1 **)
    160160let rec event_rect_Type4 h_EVcost h_EVextcall = function
    161 | EVcost x_5447 -> h_EVcost x_5447
     161| EVcost x_5564 -> h_EVcost x_5564
    162162| EVextcall (ev_name, ev_args, ev_res) -> h_EVextcall ev_name ev_args ev_res
    163163
     
    166166    eventval -> 'a1) -> event -> 'a1 **)
    167167let rec event_rect_Type5 h_EVcost h_EVextcall = function
    168 | EVcost x_5451 -> h_EVcost x_5451
     168| EVcost x_5568 -> h_EVcost x_5568
    169169| EVextcall (ev_name, ev_args, ev_res) -> h_EVextcall ev_name ev_args ev_res
    170170
     
    173173    eventval -> 'a1) -> event -> 'a1 **)
    174174let rec event_rect_Type3 h_EVcost h_EVextcall = function
    175 | EVcost x_5455 -> h_EVcost x_5455
     175| EVcost x_5572 -> h_EVcost x_5572
    176176| EVextcall (ev_name, ev_args, ev_res) -> h_EVextcall ev_name ev_args ev_res
    177177